SpringBoot版本:2.1.1
前言
上篇文章讲了使用EnvironmentPostProcessor 加载外部配置,这里继续Spring Boot中的@Conditional。
Spring Boot中有一个@EnableAutoConfiguration注解,开启自动配置,位于在 spring-boot-autoconfigure.jar中,在这个jar中,大量使用了@Conditional,根据运行环境来动态装配Bean。
Conditional
Condition接口是Spring的功能,SpringBoot在它的基础上定义了@ConditionalOnClass,@ConditionalOnProperty等一系列的注解来实现更丰富的内容。具体可以到org.springframework.boot.autoconfigure.condition包下查看。
@Conditional示例代码
这里基于Condition接口写一个demo,接前面,在父工程下新建子工程SpringBoot_Condition,项目目录如下:
pom文件:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.eastcom</groupId>
<artifactId>SpringBoot_Demo</artifactId>
<version>0.0.1-SNAPSHOT