天天看点

简述Spring Boot中自动配置原理

作者:架构笔记

Spring Boot启动的时候会通过@EnableAutoConfiguration注解找到META-INF/spring.factories配置文件中的所有自动配置类,并对其进行有条件加载。

简述Spring Boot中自动配置原理

这些自动配置类都是以AutoConfiguration结尾来命名的,它实际上就是一个JavaConfig形式的Spring容器配置类。

它能通过以Properties结尾命名的类中取得在全局配置文件中配置的属性如:server.port,而xxxProperties类是通过@ConfigurationProperties注解与全局配置文件中对应的属性进行绑定的。

xxxProperties类的含义是:封装配置文件中相关属性;xxxAutoConfiguration类的含义是:自动配置类,目的是给Spring容器中添加组件。

xxxAutoConfiguration 类使用 @Configuration 注解将其标记为一个 Spring 配置类,并用 @EnableConfigurationProperties 注解来绑定自定义属性和一个或多个条件的 bean 注册方法。

简述Spring Boot中自动配置原理

如下是一段示例代码:

@Configuration

@ConditionalOnClass({ DataSource.class, EmbeddedDatabaseType.class })

@EnableConfigurationProperties(DataSourceProperties.class)

@Configuration:该注解所标记的类在Spring中就是一个配置类,被该注解所标记的类中包含一个或者多个@Bean注解的方法,这些被@Bean注解的方法将会被Spring容器扫描并用于构建Bean的定义,初始化Spring的IOC容器。

简述Spring Boot中自动配置原理

继续阅读