问题
spring 在启动的时候会自动加载被spring相应注解注解的可以实例化的bean,有时候会有在开发环境下不实例化,在生产实例化的需求,这时候要怎么解决呢?
Conditional注解
接口全路径:org.springframework.context.annotation.Condition
通过将次注解放置到想要条件化加载的bean上,参数是一个实现类,实现类中要实现Condition方法,全路径为:org.springframework.context.annotation.Condition
只有一个方法:matches,重写这个方法返回值为boolean,返回true即为不加载,反之加载。
测试
条件化加载的bean如下
UserConditional如下:
UserConditional返回true的时候不打印控制台信息,反之打印。
以上就可以完成在指定条件下加载bean了