Starter 是一個插件 和依賴包的集合
他是可以由我們自己手動創建的 我們下面就來講怎么樣手動創建一個starter
首先引入jar 包
在pom.xml中引入SpringBoot自動化配置依賴spring-boot-autoconfigure:
spring-boot-configuration-processor
兩個jar包
1.首先starter 依賴包由組件構成 要創建業務類 即service服務類
2.還要創建一個基礎屬性類
類 也就是 包含需要的參數類
@ConfigurationProperties(prefix = "person")
這個注解用於 在application.yml / application.properties
中以person
開頭的配置與該類中的屬性一一對應
即 propperties文件里person.**
3.starter 還需要一個核心啟動類 把剛才的類進行加載
@Configuration 標注配置類
@ConditionalOnClass(業務類名稱) 確定calsspath下存在該業務類配置生效進行
@EnableConfigurationProperties(基礎屬性類) 可以進行自動配置屬性類 使基礎類的@ConfigurationProperties注解生效並且自動配置進srping容器里
@EnableConfigurationProperties將application.properties中對應的屬性配置設置於Properties對象中;
要用@atuwer 注入 基礎配置類
還有業務類
業務類加注解
@Bean
@ConditionalOnMissingBean(業務類名)
@ConditionalOnProperty(prefix = "前綴名",value = "enabled", havingValue = "true")
KiteService kiteService(){
return new KiteService(kiteProperties);
}
@ConditionalOnMissingBean(業務類名):
與 @Bean 配合使用,只有在當前上下文中不存在某個 bean 的情況下才會執行所注解的代碼塊,也就是當前上下文還沒有 KiteService 的 bean 實例的情況下,才會執行 kiteService() 方法,從而實例化一個 bean 實例出來。
@ConditionalOnProperty:
當應用配置文件中有相關的配置才會執行其所注解的代碼塊。
使用的方法加上bean注入到spring當中
最后在metat-info下面 創建一個spring.factorie
springboot 自動掃描到這
加載starter配置
rg.springframework.boot.autoconfigure.EnableAutoConfiguration=核心類路徑