3.Spring高级话题—4.条件注解@Conditional

摘要: 1.点睛 在2.4节学到,通过活动的profile,我们可以获得不同的Bean。Spring4提供了一个更通用的基于条件的Bean的创建,即使用@Conditional注解。 @Conditional根据满足某一个特定条件创建一个特定的Bean。

1.点睛
在2.4节学到,通过活动的profile,我们可以获得不同的Bean。Spring4提供了一个更通用的基于条件的Bean的创建,即使用@Conditional注解。
@Conditional根据满足某一个特定条件创建一个特定的Bean。比方说,当某一个jar包在一个类路径下的时候,自动配置一个或多个Bean;或者只有某个Bean被创建才会创建另外一个Bean。总的来说,就是根据特定条件来控制Bean的创建行为,这样我们可以利用这个特性进行一些自动的配置。
在Spring Boot中将会大量应用到条件注解,更多内容见6.1节。
下面的示例将以不同的操作系统作为条件,我们将通过实现Condition接口,并重写其matches方法来构造判断条件。若在Windows系统下运行程序,则输出列表命令为dir;若在Linux操作系统下运行程序,则输出列表命令为ls。
2.示例
(1)判断条件定义
①判断Windows的条件
screenshot
②判断Linux的条件
screenshot
(2)不同系统下Bean的类
①接口
screenshot
②Windows下所要创建的Bean的类
screenshot
③Linux下所要创建的Bean的类
screenshot
(3)配置类
screenshot
通过@Conditional注解,符合Windows条件则实例化windowsListService
通过@Conditional注解,符合Linux条件则实例化linuxListService
(4)运行
screenshot
结果
screenshot原文链接

猜你喜欢

转载自1369049491.iteye.com/blog/2374005