SpringBoot高級配置之臨時(shí)屬性、配置文件、日志、多環(huán)境配置詳解
一、臨時(shí)屬性設(shè)置
1、帶屬性啟動(dòng)SpringBoot
例如修改端口:
java -jar springboot.jar --server.port=80
攜帶多個(gè)屬性啟動(dòng)SpringBoot,屬性間使用空格分隔
2、在idea中修改臨時(shí)配置

3、還可以通過編程修改參數(shù)

不帶參數(shù)啟動(dòng)springboot程序

二、配置文件分類
1、SpringBoot中4級配置文件
1級: file : config/application.yml 最高
2級: file : application.yml
3級: classpath: config/ application.yml
4級: classpath: application.yml 最低
作用:
1級與2級留做系統(tǒng)打包后設(shè)置通用屬性,1級常用于運(yùn)維經(jīng)理進(jìn)行線上整體項(xiàng)目部署方案調(diào)控
3級與4級用于系統(tǒng)開發(fā)階段設(shè)置通用屬性,3級常用于項(xiàng)目經(jīng)理進(jìn)行整體項(xiàng)目屬性調(diào)控
多層級配置文件間的屬性采用疊加并覆蓋的形式作用于程序
2、自定義配置文件
通過啟動(dòng)參數(shù)加載指定文件路徑下的配置文件,properties與ymll文件格式均支持

通過啟動(dòng)參數(shù)加載指定文件路徑下的配置文件時(shí)可以加載多個(gè)配置

多配置文件常用于將配置進(jìn)行分類,進(jìn)行獨(dú)立管理,或?qū)⒖蛇x配置單獨(dú)制作便于上線更新維護(hù)
3、自定義配置文件——重要說明
單服務(wù)器項(xiàng)目:使用自定義配置文件需求較低
多服務(wù)器項(xiàng)目:使用自定義配置文件需求較高,將所有配置放置在一個(gè)目錄中,統(tǒng)一管理
基于SpringCloud技術(shù),所有的服務(wù)器將不再設(shè)置配置文件,而是通過配置中心進(jìn)行設(shè)定,動(dòng)態(tài)加
載配置信息
總結(jié):
1. SpringBoot在開發(fā)和運(yùn)行環(huán)境均支持使用臨時(shí)參數(shù)修改工程配置
2. SpringBoot支持4級配置文件,應(yīng)用于開發(fā)與線上環(huán)境進(jìn)行配置的靈活設(shè)置
3. SpringBoot支持使用自定義配置文件的形式修改配置文件存儲(chǔ)位置
4.基于微服務(wù)開發(fā)時(shí)配置文件將使用配置中心進(jìn)行管理
三:多環(huán)境開發(fā)
1、多環(huán)境開發(fā)yaml版(一個(gè)配置文件)

2、多環(huán)境開發(fā)yaml版(多個(gè)個(gè)配置文件)
1、主啟動(dòng)配置文件application. yml

2、環(huán)境分類配置文件application-pro . yml

3、環(huán)境分類配置文件application-dev . yml

4、環(huán)境分類配置文件application-test.yml

3、多環(huán)境開發(fā)properties版(多個(gè)個(gè)配置文件)
1、主啟動(dòng)配置文件application.properties

2、環(huán)境分類配置文件application-pro.properties

3、 環(huán)境分類配置文件application-dev .properties

4、環(huán)境分類配置文件application-test.properties

4、多環(huán)境開發(fā)獨(dú)立配置文件書寫技巧
根據(jù)功能對配置文件中的信息進(jìn)行拆分,并制作成獨(dú)立的配置文件,命名規(guī)則如下
application-devDB.yml
application-devRedis.yml
application-devMVC.yml
使用include屬性在激活指定環(huán)境的情況下,同時(shí)對多個(gè)環(huán)境進(jìn)行加載使其生效,多個(gè)環(huán)境間使用
逗號(hào)分隔

當(dāng)主環(huán)境dev與其他環(huán)境有相同屬性時(shí),主環(huán)境屬性生效;其他環(huán)境中有相同屬性時(shí),最后加載的
環(huán)境屬性生效
從SpringBoot2.4版開始使用group屬性替代include屬性,降低了配置書寫量
使用group屬性定義多種主環(huán)境與子環(huán)境的包含關(guān)系

四:多環(huán)境開發(fā)控制
1、Maven與SpringBoot多環(huán)境兼容

2、SpringBoot中引用Maven屬性

3、執(zhí)行Maven打包指令,并在生成的boot打包文件.jar文件中查看對應(yīng)信息
總結(jié):
1.當(dāng)Maven與SpringBoot同時(shí)對多環(huán)境進(jìn)行控制時(shí),以Mavn為主,SpringBoot使用@..@占位符
讀取Maven對應(yīng)的配置屬性值
2.基于SpringBoot讀取Maven配置屬性的前提下,如果在Idea下測試工程時(shí)pom.xml每次更新需
要手動(dòng)compile方可生效
五、日志
1、日志基礎(chǔ)
添加日志記錄操作

設(shè)置日志輸出級別

設(shè)置日志組,控制指定包對應(yīng)的日志輸出級別,也可以直接控制指定包對應(yīng)的日志輸出級別

日志級別:
TRACE:運(yùn)行堆棧信息,使用率低
DEBUG:程序員調(diào)試代碼使用
INFO:記錄運(yùn)維過程數(shù)據(jù)
WARN:記錄運(yùn)維過程報(bào)警數(shù)據(jù)
ERROR:記錄錯(cuò)誤堆棧信息
FATAL:災(zāi)難信息,合并計(jì)入ERROR
優(yōu)化日志對象創(chuàng)建代碼
使用lombok提供的注解@Slf4j簡化開發(fā),減少日志對象的聲明操作

總結(jié):
1.日志用于記錄開發(fā)調(diào)試與運(yùn)維過程消息
2.日志的級別共6種,通常使用4種即可,分別是DEBUG,INFO,WARN ,ERROR
3.可以通過日志組或代碼包的形式進(jìn)行日志顯示級別的控制
2、日志輸出格式控制
日志輸出格式

設(shè)置日志輸出格式

%d:日期
%m:消息
%n:換行

3、日志文件
設(shè)置日志文件(將日志輸出到文件中)

日志文件詳細(xì)配置(設(shè)置文件大小,超過配置,自動(dòng)寫入下一個(gè)配置)

到此這篇關(guān)于SpringBoot高級配置之臨時(shí)屬性、配置文件、日志、多環(huán)境配置的文章就介紹到這了,更多相關(guān)SpringBoot臨時(shí)屬性內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java中pdf轉(zhuǎn)圖片的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猨ava中pdf轉(zhuǎn)圖片的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-12-12
帶你了解如何使用Spring基于ProxyFactoryBean創(chuàng)建AOP代理
這篇文章主要介紹了Spring基于ProxyFactoryBean創(chuàng)建AOP代理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2021-08-08
基于Java實(shí)現(xiàn)的一層簡單人工神經(jīng)網(wǎng)絡(luò)算法示例
這篇文章主要介紹了基于Java實(shí)現(xiàn)的一層簡單人工神經(jīng)網(wǎng)絡(luò)算法,結(jié)合實(shí)例形式分析了java實(shí)現(xiàn)人工神經(jīng)網(wǎng)絡(luò)的具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-12-12
java編程進(jìn)行動(dòng)態(tài)編譯加載代碼分享
這篇文章主要介紹了java編程進(jìn)行動(dòng)態(tài)編譯加載代碼分享,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12
SpringBoot實(shí)戰(zhàn)之SSL配置詳解
今天小編就為大家分享一篇關(guān)于SpringBoot實(shí)戰(zhàn)之SSL配置詳解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-02-02
Java如何實(shí)現(xiàn)調(diào)用外部Api
這篇文章主要介紹了Java如何實(shí)現(xiàn)調(diào)用外部Api問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05
詳解SpringBoot與SpringCloud的版本對應(yīng)詳細(xì)版
這篇文章主要介紹了詳解SpringBoot與SpringCloud的版本對應(yīng)詳細(xì)版,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09

