自己创建一个TestCondition的类 实现Condition接口
public class YjCondition implements Condition {
/**
*
* @param context
* @param metadata
* @return
*/
@Override
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
//判断容器中是否有yjAspect的组件
if(context.getBeanFactory().containsBean("yjAspect")) {
return true;
}
return false;
}
}
public class MainConfig {
@Bean
public YjAspect yjAspect() {
return new YjAspect ();
}
/**
* 判断bean是否起作用
* @return
*/
@Bean
@Conditional(value = YjCondition.class)
public YjLog yjLog() {
return new YjLog();
}
}
本文展示了如何创建一个自定义的`Condition`类`YjCondition`,该类检查容器中是否存在名为'yjAspect'的组件。如果存在,`YjLog` bean将被启用,这通过使用`@Conditional`注解实现。`MainConfig`配置类中定义了`yjAspect`和`yjLog` bean,`yjLog`的启用依赖于`YjCondition`的匹配结果。
1559

被折叠的 条评论
为什么被折叠?



