javascript
Spring boot自动配置示例
自動配置示例
HttpEncodingAutoConfiguration
Http編碼自動配置
以該類為例,查看自動配置過程
EnableAutoConfiguration
HttpEncodingAutoConfiguration
點擊,進入
@Configuration
表示這是一個配置類
與以前編寫的配置文件一樣,也可以給容器中添加組件
@EnableConfigurationProperties({HttpEncodingProperties.class})
啟動指定類的ConfigurationProperties功能
將配置文件中對應的值和HttpEncodingProperties綁定起來
并把HttpEncodingProperties加入到ioc容器中
點擊,進入
@ConfigurationProperties
從配置文件中,獲取指定的值
和bean的屬性進行綁定
所有在配置文件中能配置的屬性
都是在xxxxProperties類中封裝者
配置文件能配置什么
就可以參照某個功能,對應的這個屬性類
@ConditionalOnWebApplication
Spring底層@Conditional注解
根據不同的條件
如果,滿足指定的條件
整個配置類里面的配置就會生效
判斷當前應用是否是web應用
如果是,當前配置類生效
@ConditionalOnClass(CharacterEncodingFilter.class)
判斷當前項目
有沒有這個類CharacterEncodingFilter
SpringMVC中進行亂碼解決的過濾器
@ConditionalOnProperty(prefix = “spring.http.encoding”, value = “enabled”, matchIfMissing =true)
判斷配置文件中
是否存在某個配置 spring.http.encoding.enabled
如果,不存在,判斷也是成立的
即使,配置文件中不配置pring.http.encoding.enabled=true
也是默認生效的
根據當前不同的條件判斷,決定這個配置類是否生效
一但這個配置類生效,這個配置類就會給容器中添加各種組件
這些組件的屬性,是從對應的properties類中獲取的
這些類里面的每一個屬性,又是和配置文件綁定的
private final HttpEncodingProperties properties;
已經和SpringBoot的配置文件映射了
只有一個有參構造器的情況下
參數的值就會從容器中拿
@Bean
給容器中添加一個組件
這個組件的某些值,需要從properties中獲取
@ConditionalOnMissingBean(CharacterEncodingFilter.class)
判斷容器,有沒有這個組件
總結
以上是生活随笔為你收集整理的Spring boot自动配置示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring boot配置文件随机数
- 下一篇: Spring boot自动配置使用