据我所知,春天引导有很多@Conditional
像注释,@ConditionalOnBean
,@ConditionalOnClass
,@ConditionalOnProperty
,ConditionalOnWebApplication
.但我不知道这是怎么回事?
例如:
@Configuration
@ConditionalOnClass(MyBean.class)
public class MyConfiguration{
// omitted
}
Run Code Online (Sandbox Code Playgroud)
我理解的是,MyConfiguration
只有MyBean
在我的类路径中可用时才会加载.但是,如果MyBean
类不在我的类路径中,当编译器到达@ConditionalOnClass(MyBean.class)
行时,它将如何编译和运行,不会抛出编译器错误?一旦我在我的eclipse中添加这样的代码,我就会遇到编译时错误.对不起,如果这是一个非常基本的问题,但我不知道我错过了什么.
我知道我们可以将不同的url映射到不同的拦截器,或者我们也可以将多个url映射到单个拦截器.我只是想知道我们是否也有排除选项.例如,如果我在应用程序中有50个url映射,除了1个映射,我想为所有人调用拦截器,而不是为49映射编写配置,我可以提及*和一个排除到第50个URL吗?