每天分享一个Java知识点,码字不易,喜欢的可以关注一波,共同学习。20191203
今天的知识点是:Spring-条件注解。
1. 开篇
昨天,我发过一篇关于profile的知识点。我们可以了解到,通过活动的profile,我们可以获得不同的Bean。Spring4提供了一个更通用的基于条件的Bean的创建,即使用@Conditional注解。
@Conditional根据满足某一个特定条件创建一个特定的Bean。比如说,当某一个jar包在一个类路径下的时候,自动配置一个或多个Bean;或者只有某个Bean被创建才会创建另外一个Bean。总的来说,就是根据特定条件来控制Bean的创建行为,这样我们可以利用这个特性进行一些自动的配置。
在spring Boot中将会大量应用到条件注解,我们将通过实现Condition接口,并重写其matches方法来构造判断条件。若在Windows系统下运行程序,则输出列表命令为dir;若在Linux操作系统下运行程序,则输出列表命令为ls。
2. 代码示例
a. 判断条件的定义:
i. 判定Windows的条件:
ii. 判定Linux的条件:
b. 不同系统下Bean
i. 接口:
ii. Windows下所要创建的Bean的类:
iii. Linux下要创建的Bean的类:
c. 配置类:
d. 运行:
e. 结果:
因为我的电脑系统就是Windows10的,所以结果如下所示:
想获取完整面试题及答案的同学请点赞、关注并转发。私信楼主:“Java面试题”获取完整资料,更有超全spring、jvm、linux、docker等电子书相送。更有整理的200多页的面试重点知识点,非常全面,需要的私信。
其它文章:
每天分享一点Java知识(spring-aop)
每天一个Java知识点(spring-多线程)
每天一个Java知识点(spring-aware)
每天一个Java知识点(spring-计划任务)
每天一个Java知识点(spring-event)
每天一个Java知识点(Spring-Profile)