SpringBoot中獲取配置文件的注解詳解
一. @Value與@ConfigurationProperties
| 注解 | @ConfigurationProperties | @Value |
| 功能 | 批量注入配置文件中的屬性 | 一個個指定 |
| 松散綁定(松散語法) | 支持 | 不支持 |
| SPEL | 不支持 | 支持 |
| JSR303數(shù)據(jù)校驗(yàn) | 支持 | 不支持 |
| 復(fù)雜類型封裝 | 支持 | 不支持 |
不管是yml配置文件還是properties配置文件,他們都能獲取到值。
一般情況下:如果我們只是在某個業(yè)務(wù)邏輯中需要獲取一下配置文件中的某項(xiàng)值,使用@Value。
如果我們使用JavaBean來與配置文件進(jìn)行映射,我們直接使用@ConfigurationProperties。
二. @PropertySource與@ImportResource與@Bean
1.@PropertySource:加載指定的配置文件(@ConfigurationProperties默認(rèn)從全局配置文件中獲取值)
eg:我這有個配置文件person.properties
person.name=xuye person.age=18 person.birth=1993/12/29 person.maps.k1=v1 person.maps.k2=12 person.lists=a,b,c person.pet.name=dog person.pet.age=1

2.@ImportResource:導(dǎo)入spring配置文件,讓配置文件里面的內(nèi)容生效。
Spring Boot里面沒有Spring的配置文件,我們自己編寫的配置文件,也不能自動識別;想讓Spring的配置文件生效,加載進(jìn)來;@ImportResource標(biāo)注在一個配置類上(例如放在Spring Boot啟動類上)。
3.@Bean:Spring Boot是采用全注解的方式,一般我們使用配置類的方式來自聲明配置文件。
編寫一個配置類,放到Spring Boot組件中
1. 在類上添加@Configuration
2.在某個方法上添加@Bean,這個方法返回值就是我們要的某個實(shí)例(方法的返回值添加到容器中,容器中這個組件的名稱就是方法名)。
到此這篇關(guān)于SpringBoot中獲取配置文件的注解詳解的文章就介紹到這了,更多相關(guān)SpringBoot配置文件注解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot使用Jasypt對配置文件和數(shù)據(jù)庫密碼加密
- springboot中非容器類如何獲取配置文件數(shù)據(jù)
- 詳解SpringBoot依賴注入和使用配置文件
- SpringBoot如何從配置文件中讀取配置參數(shù)
- SpringBoot中的配置文件加載優(yōu)先級詳解
- Springboot如何實(shí)現(xiàn)對配置文件中的明文密碼加密
- SpringBoot中的YAML配置文件和日志詳解
- SpringBoot實(shí)現(xiàn)配置文件加密的方案分享
- SpringBoot綁定配置文件中變量的四種方式總結(jié)
- SpringBoot讀取多環(huán)境配置文件的幾種方式
- Spring Boot 配置文件(application.yml、application-dev.yml、application-test.yml)
相關(guān)文章
Retrofit+Rxjava下載文件進(jìn)度的實(shí)現(xiàn)
這篇文章主要介紹了Retrofit+Rxjava下載文件進(jìn)度的實(shí)現(xiàn),非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-11-11
spring AMQP代碼生成rabbitmq的exchange and queue教程
使用Spring AMQP代碼直接創(chuàng)建RabbitMQ exchange和queue,并確保綁定關(guān)系自動成立,簡化消息隊(duì)列配置,此經(jīng)驗(yàn)分享供參考,歡迎支持腳本之家2025-08-08
SpringMVC中的ResourceUrlProviderExposingInterceptor詳解
這篇文章主要介紹了SpringMVC中的ResourceUrlProviderExposingInterceptor詳解,ResourceUrlProviderExposingInterceptor是Spring MVC的一個HandlerInterceptor,用于向請求添加一個屬性,需要的朋友可以參考下2023-12-12
解決在for循環(huán)中remove list報錯越界的問題
這篇文章主要介紹了解決在for循環(huán)中remove list報錯越界的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12
Springboot啟動報錯Input length = 2的問題解決
最近使用Springboot啟動報錯,報錯內(nèi)容java.nio.charset.MalformedInputException: Input length = 2,下面就來介紹一下解決方法,感興趣的可以了解一下2024-08-08
springboot集成Feign的實(shí)現(xiàn)示例
Feign是聲明式HTTP客戶端,用于簡化微服務(wù)之間的REST調(diào)用,本文就來介紹一下springboot集成Feign的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11
Springboot中JWT登錄校驗(yàn)及其攔截器實(shí)現(xiàn)方法
這篇文章主要介紹了Springboot中JWT登錄校驗(yàn)及其攔截器實(shí)現(xiàn)方法的相關(guān)資料,包括引入Maven坐標(biāo)、獲取Token、JWT攔截器的實(shí)現(xiàn)和配置,通過這些步驟可以實(shí)現(xiàn)后端對用戶登錄的身份校驗(yàn),需要的朋友可以參考下2025-11-11
springboot項(xiàng)目不加端口號也可以訪問項(xiàng)目的方法步驟分析
這篇文章主要介紹了springboot項(xiàng)目不加端口號也可以訪問項(xiàng)目的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04

