1,创建一个对象类User,然后交给spring。
2,创建注解
@Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented @Conditional(ClassOnCondition.class) public @interface ConditionInterface { String[] value(); }
3,创建一个类,实现condition,重写方法,主要用于判断,UserConfig传递的对象是否存在(@ConditionInterface是可以传递多个值,如果任何一个不存在,则该对象不会交给spring),如果反射失败,则该对象不会交给spring。(很多源码中都可以看到这个用法)
public class ConditionOnClass implements Condition {
//conditionContext 用于获取上下文对象,用于获取环境,ioc容器,classloader对象。annotatedTypeMetadata注释元对象,可以用于获取注解定义的属性值
@Overrid