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