@Conditional是Spring4新提供的注解,它的作用是根据某个条件创建特定的Bean,通过实现Condition接口,并重写matches接口来构造判断条件。我们可以利用这个特性进行一些自动的配置。
@Conditional的定义:

从代码中可以看到,需要传入一个Class数组,并且需要继承Condition接口,Condition是个接口,需要实现matches方法,返回true则注入bean,false则不注入。

第一步:创建两个Condition:WindowsConditon 和LinuxCondition


第二步:修改UserConfig

第三步:修改启动类
