日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringBoot 使用(三): 配置文件详解

發布時間:2025/5/22 javascript 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot 使用(三): 配置文件详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

代碼從開發到測試要經過各種環境,開發環境,測試環境,demo環境,線上環境,各種環境的配置都不一樣,同時要方便各種角色如運維,接口測試, 功能測試,全鏈路測試的配置,hardcode 肯定不合適,如Spring profile一樣寫在jar包不合適.分布式應用中一般采用集中管理配置的方式,通過使用開源軟件,如阿里的diamond,hashicorp的consul等等,SpringBoot中提供了各種各樣的配置方式,下面一一來分析下.

1.配置方式和優先級

這些方式優先級如下:
a. 命令行參數
b. 來自java:comp/env的JNDI屬性
b. Java系統屬性(System.getProperties())
d. 操作系統環境變量
e. RandomValuePropertySource配置的random.*屬性值
f. jar外部的application-{profile}.properties或application.yml(帶spring.profile)配置文件
g. jar內部的application-{profile}.properties或application.yml(帶spring.profile)配置文件
h. jar外部的application.properties或application.yml(不帶spring.profile)配置文件
i. jar內部的application.properties或application.yml(不帶spring.profile)配置文件
j. @Configuration注解類上的@PropertySource
k. 通過SpringApplication.setDefaultProperties指定的默認屬性

2.命令行參數

@Componentpublic class UserProperties { @Value("${myname}") private String myname; }

啟動命令: java -jar?*.jar --myname="KevinSun"
其他java 系統屬性, 操作系統屬性都是類似處理方案如果不想通過命令行啟動 可以用下面方法取消.

SpringApplication.setAddCommandLineProperties(false);

3. application-{profile}.properties參數加載

不同的環境可能需要不同配置,可以通過
application{profile}.properties來解決這個問題.
首先:新建application-dev..properties 文件,增加需要參數其次啟動命令:

java -jar ***.jar --spring.profiles.active=dev

application-{profile}.properties 文件和默認的application.properties的加載方式本質是一致的,可以參照4中的內容.需要注意的是:application.properties 會首先被加載.

然后:從application-{profile}.properties中獲取替換,所以一些基本固定的值可以寫在application.properties, 然后個性化配置寫在application-{profile}.properties中。

4.application.properties 參數加載

SpringBoot中默認的從application.properties文件中加載參數,大量情況下默認是寫在這個文件中的.
a. application.properties 讀取的優先級
i. file:./config/ 當前jar目錄的config
ii. file:./ 當前jar目錄
iii. classpath:/config/ jar包中classpath的 config目錄下
iv. classpath:/ jar包中classpath 路徑下
排列的順序 就是 加載的優先級,application.properties只會被加載一次
b. 使用自定義文件
如果你覺得 application.properties不夠酷,你可以定義自己的文件名, 這里也有兩種方式
i. 使用命令

java -jar ***.jar --spring.config.name=myproject

這時就會加載myproject.propertie并且 application.properties不會被加載的.
ii. 使用命令

java -jar ***.jar spring.config.location=classpath:/myproject.properties

這種情況下 application.properties也是會被加載,使用方式application-{profile}.properties相同.
c. 使用${}進行屬性占位符替換

spring.data.mongodb.host=192.168.1.1 spring.data.mongodb.port=1234 spring.data1.mongodb.host=${spring.data.mongodb.host}_test spring.data1.mongodb.port=${spring.data.mongodb.port}_test spring.data1.mongodb.database=${random.value}_test

注意最后一個配置,這使用random 生產隨機值的方式, 在測試中可以用來造數據。
d. 類型安全加載
使用@value 進行屬性的注入有的時候可能比較笨重, spring 提供一種強類型的bean 來替代這種方式

@Configuration @EnableConfigurationProperties(UserProperties.class) public class MyConfiguration{ } @Component @ConfigurationProperties(prefix = "spring.data.mongodb") public class UserProperties { private String host; private int prot; } spring.data.mongodb.host=192.168.1.1 spring.data.mongodb.port=1234

5.使用application.yaml 參數加載

YAML文檔也可以比較好的被支持, YamlPropertiesFactoryBean會將yaml文件當初properties來解析的。

spring:data.mongodb:host:192.168.1.1 port:27017

但是YAML文件不能通過@PropertySource注解加載. 所以,在這種情況下,如果需要使用@PropertySource注解的方式加載值,那就要使用properties文件.

總結

以上是生活随笔為你收集整理的SpringBoot 使用(三): 配置文件详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 高h1v | 欧美日韩性视频 | 精品乱码一区二区三四区视频 | 性欧美一区二区三区 | 精品少妇一区二区三区免费观 | 欧洲金发美女大战黑人 | 亚洲成人播放器 | 日韩在线精品强乱中文字幕 | 日产久久视频 | 蜜桃精品视频在线 | 老地方在线观看免费动漫 | 国产精品久久久久久久久久久久 | 成人欧美一区二区三区黑人免费 | 波多野结衣中文一区 | 亚洲欧洲在线看 | 亚洲自拍偷拍视频 | 精彩毛片 | 中文字幕一区二区视频 | 少妇人妻在线视频 | 波多野一区二区三区 | 午夜国产免费 | 美女扒开腿让人桶爽 | 影音先锋男人资源网站 | 久久女| 欧美激情18 | 999色综合 | 欧美激情在线一区 | 久久午夜视频 | 国产精品成人电影在线观看 | 四虎影视黄色 | 最好看的2019年中文在线观看 | 色妇av| 一区二区三区激情视频 | 国产一区二区三区免费在线观看 | 五月花婷婷| 一级激情片 | 91偷拍精品一区二区三区 | 北岛玲一区二区 | 两女双腿交缠激烈磨豆腐 | 91网站免费 | 日本亲近相奷中文字幕 | 久久综合桃花网 | 天堂va在线 | 激情影音 | 色综合国产 | 国产黄网在线观看 | 人与动物黄色片 | 国产福利精品一区 | 日本黄色小片 | 美女黄色一级视频 | 久久国产免费看 | www在线观看免费视频 | 成人无码av片在线观看 | 香蕉尹人 | 小黄网站在线观看 | 天堂在线一区 | 天天色婷婷| 国产av电影一区二区 | 色伊人av| 欧美自拍偷拍一区二区 | 久久99久久99精品 | 91香蕉视频在线观看免费 | 欧美精品一线 | 一级片少妇 | 日韩欧美中文字幕一区二区三区 | 丁香婷婷六月 | 午夜一区二区三区四区 | 亚洲成人精品在线播放 | 手机成人在线视频 | 天堂无乱码 | 久久这里只有精品久久 | 无码专区久久综合久中文字幕 | 99国产精品自拍 | 中国黄色三级 | 精品在线一区二区三区 | 久久国产精品电影 | 91插插插插插插插插 | 在线观看视频国产 | 精品国产综合区久久久久久 | 日本a级一区 | 人人cao | 色婷婷av一区二区三区之红樱桃 | 一级黄色片免费观看 | 在线看片网址 | np视频| 最污的网站 | www.com操| 卡通动漫精品一区二区三区 | 91香草视频| 亚洲毛片在线播放 | 国产一区二区 | 国产精品第一区 | 狠狠干在线观看 | 欧美在线www | 欧美大片免费观看网址 | 山村淫强伦寡妇 | 欧美精品一区三区 | 在线免费观看黄网 | 亚洲一区激情 |