天天看點

簡述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中自動配置原理

繼續閱讀