Spring Boot 学习笔记(二)-自动化配置

当程序加入SpringBoot 的时候,会自动加入一个spring-boot-autoconfigure的jar包,其中包含了许多配置类,应用于程序的classpath下。这些配置类都应用了Spring4.0以后引入的条件化配置。
在Spring中,你可以很容易的编写自己的条件,只要你实现Condition接口,并覆盖他的matches方法。举例说明:
Spring Boot 学习笔记(二)-自动化配置_第1张图片
image.png

以上程序定义了一个JdbcTemplateCondition 类,判断当classpath下面存在JdbcTemplate类就会返回true,
程序中,如果这个条件成立,才会注入myService方法返回的Bean。

SpringBoot中定义了许多特殊的条件化注解,并将它们作用到配置类上

Spring Boot 学习笔记(二)-自动化配置_第2张图片
image.png

上图中列出了SpringBoot中的自动化配置条件类。

Spring Boot 学习笔记(二)-自动化配置_第3张图片
image.png

上图是SpringBoot中DataSourceAutoConfiguration 类的片段,可以看出加上了Configuraion注解,并引入了其他配置文件的配置,@ConditionOnClass注解指定了ClassPath下面必须存在DataSource或EmbeddedDatabaseType类才运用这个配置类。如果它们不存在,则忽略这个配置类下配置的文件。

你可能感兴趣的:(Spring Boot 学习笔记(二)-自动化配置)