条件注释在Spring Boot中是如何工作的?
我知道Spring Boot有很多注释,如,,。但我不知道这是怎么回事?@Conditional
@ConditionalOnBean
@ConditionalOnClass
@ConditionalOnProperty
ConditionalOnWebApplication
例如:
@Configuration
@ConditionalOnClass(MyBean.class)
public class MyConfiguration{
// omitted
}
我的理解是,仅当在我的类路径中可用时,才会加载。但是,如果当编译器到达行时类不在我的类路径中,它将如何编译和运行,它不会引发编译器错误吗?一旦我在日食中添加这样的代码,我就得到了编译时错误。抱歉,如果这是太基本的问题,但我不知道我错过了什么来理解。MyConfiguration
MyBean
MyBean
@ConditionalOnClass(MyBean.class)