springboot配置文件中屬性變量引用方式@@解讀
springboot配置文件中屬性變量引用@@
這種屬性應用方式是field_name=@field_value@。
兩個@符號是springboot為替代${}屬性占位符產(chǎn)生,原因是${}會被maven處理,所以應該是起不到引用變量的作用。
@@方式可以引用springboot非默認配置文件(即其他配置文件)中的變量;
springboot默認配置文件是src/main/resources/application.properties
引用屬性變量方式之@@和${}的用法
整理這篇文章,主要是項目中用到了此配置,由于之前并未這么配過,所以碰到了還真有點茫然。
熟悉的環(huán)境區(qū)分配置方式
直接在application.properties中配置spring.profiles.active屬性來區(qū)分環(huán)境即可。
@@到底是什么?
${}和@@都是springboot引用屬性變量的方式。
${}和@@的使用
1)${}的使用
最常用的就是在pom文件中對版本號的配置使用,比如如下:
<properties> <swagger.version>2.8.0</swagger.version> </properties> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>${swagger.version}</version> </dependency>
還有就是在配置文件或者.sh文件中的賦值操作,比如如下:
IMAGES_NAME=brain-health-openplatform CONTAINER_NAME=brain-health-openplatform APP_PORT=7701 APP_HOME=/home/admin/brain-health-openplatform #啟動容器 docker run -d --name ${CONTAINER_NAME} -p ${APP_PORT}:${APP_PORT} -v ${APP_HOME}/logs:/logs ${CONTAINER_NAME}
2)@@的使用
@@方式常用于引用springboot非默認配置文件(即其他配置文件)中的變量,是springboot為替代 屬 性 占 位 符 產(chǎn) 生 , 原 因 是 {}屬性占位符產(chǎn)生,原因是 屬性占位符產(chǎn)生,原因是{}會被maven處理,所以引用非默認配置文件時起不到引用變量的作用。
就比如我們項目中yml是起到整體作用的,通過四個環(huán)境的配置文件,來注入不同的value值。自我感覺就和最開始的prod和test文件夾的效果是一樣的。
3)@@引入普通的value值
其實自己最開始的疑問并不是如何注入,而是看項目中的注入都是有歸屬關系的,就比如屬于server/spring or mybatis 又或者logging等。那么我就想配置一個普通的鏈接路徑,該如何弄呢?
其實想復雜了,只需要直接把properties中的key復制到y(tǒng)ml文件中,他就自動形成了鍵值對的形式。
# properties文件中: customer.brain.training=XXX brain.training.report=XXX train.path.source=XXX
# yml文件中的注入 customer: brain: training: @customer.brain.training@ brain: training: report: @brain.training.report@ train: path: source: @train.path.source@
// 項目中的使用,直接就是@value的正常形式 @Value("${customer.brain.training}") private String CustomerBrainTrainingUrl;
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Java實現(xiàn)為Word每一頁設置不同圖片水印的效果
Word中設置水印時,可加載圖片設置為水印效果,但通常添加水印效果時,會對所有頁面都設置成統(tǒng)一效果。所以本文為大家介紹了一個方法,可以實現(xiàn)對每一頁或者某個頁面設置不同的水印效果,需要的可以參考一下2022-02-02SpringBoot +Vue開發(fā)考試系統(tǒng)的教程
這篇文章主要介紹了SpringBoot +Vue開發(fā)考試系統(tǒng),支持多種題型:選擇題、多選題、判斷題、填空題、綜合題以及數(shù)學公式。支持在線考試,教師在線批改試卷。本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2020-05-05springboot學習之Thymeleaf模板引擎及原理介紹
本文主要介紹一下SpringBoot給我們推薦的Thymeleaf模板引擎,這模板引擎呢,是一個高級語言的模板引擎,他的這個語法更簡單而且功能更強大,對springboot?Thymeleaf模板引擎相關知識感興趣的朋友一起看看吧2022-02-02idea pom導入net.sf.json的jar包失敗的解決方案
JSON(JavaScript Object Notation,JS對象簡譜)是一種輕量級的數(shù)據(jù)交換格式,這篇文章主要介紹了idea pom導入net.sf.json的jar包失敗的解決方案,感興趣的朋友一起看看吧2023-11-11