我知道Spring Boot有很多@Conditional
注释,例如@ConditionalOnBean
,@ConditionalOnClass
,@ConditionalOnProperty
,ConditionalOnWebApplication
。但我不知道这是如何工作的?条件注释如何在Spring Boot中起作用?
例如:
@Configuration
@ConditionalOnClass(MyBean.class)
public class MyConfiguration{
// omitted
}
我了解,MyConfiguration
将只有MyBean
在我的类路径被加载。但是,如果MyBean
类不在我的类路径中,编译器达到@ConditionalOnClass(MyBean.class)
一行,它将如何编译和运行,是否会抛出编译器错误?只要我在eclipse中添加这样的代码,我就会收到编译时错误。对不起,如果这是太基本的问题,但我不知道我错过了什么理解。
您的解释和链接非常有帮助。非常感谢 –