javascript
Spring Boot零散知识总结
一、@Value與@ConfigurationProperties
@Value 與 @ConfigurationProperties 都可以用于配置文件與 JavaBean 中的屬性映射,主要有以下區別
| 作用 | 批量注入配置文件中的屬性 | 單個指定配置文件中的屬性 |
| 松散語法(userName->user-name) | 支持 | 不支持 |
| SpEl表達式 | 不支持 | 支持 |
| JSR303數據校驗 | 支持 | 不支持 |
| 復雜的數據類型(map) | 支持 | 不支持 |
@ConfigurationProperties:一般用于配置文件與 JavaBean 的映射
@Value:一般用于與某個值的映射
二、@ImportResource與@PropertySource
@ImportResource:因為 Spring Boot 項目默認是沒有 Spring 配置文件的,可以使用這個注解引入自定義的 Spring 配置文件。
注意:加在入口類上才會生效,例如:@ImportResource(locations = {"classpath:spring-bean.xml"})。因為 Spring Boot 本身就是為了簡化配置的,因此一般使用注解的形式來代替這種配置文件的形式,來注入 Bean。
@PropertySource:指定全局配置文件的路徑,從而完成配置文件與 JavaBean 屬性的映射。例如:@PropertySource(value = {"classpath:person.properties"})。
三、Spring Boot 全局配置文件路徑設置
Spring boot 默認會掃描 application.properties 或者 application.yml 配置文件,自動掃描的路徑有以下 4 個:
按照優先級排序為:file/config/,file/,classpath/config/,classpath/,高優先級會覆蓋低優先級的配置文件。采用的覆蓋非失效覆蓋,而是通過覆蓋實現互補配置。
項目發布的時候,還可以通過命令參數 spring.config.location= 設置配置文件的路徑。在項目啟動時候進行動態的設置。
PS:后面接觸到了會陸續補充
總結
以上是生活随笔為你收集整理的Spring Boot零散知识总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 鸳鸯锅为什么辣锅先沸腾?
- 下一篇: 猪肉检疫印章可以洗掉吗?