SpringBoot高級(jí)配置之臨時(shí)屬性、配置文件、日志、多環(huán)境配置詳解
一、臨時(shí)屬性設(shè)置
1、帶屬性啟動(dòng)SpringBoot
例如修改端口:
java -jar springboot.jar --server.port=80
攜帶多個(gè)屬性啟動(dòng)SpringBoot,屬性間使用空格分隔
2、在idea中修改臨時(shí)配置
3、還可以通過(guò)編程修改參數(shù)
不帶參數(shù)啟動(dòng)springboot程序
二、配置文件分類
1、SpringBoot中4級(jí)配置文件
1級(jí): file : config/application.yml 最高
2級(jí): file : application.yml
3級(jí): classpath: config/ application.yml
4級(jí): classpath: application.yml 最低
作用:
1級(jí)與2級(jí)留做系統(tǒng)打包后設(shè)置通用屬性,1級(jí)常用于運(yùn)維經(jīng)理進(jìn)行線上整體項(xiàng)目部署方案調(diào)控
3級(jí)與4級(jí)用于系統(tǒng)開(kāi)發(fā)階段設(shè)置通用屬性,3級(jí)常用于項(xiàng)目經(jīng)理進(jìn)行整體項(xiàng)目屬性調(diào)控
多層級(jí)配置文件間的屬性采用疊加并覆蓋的形式作用于程序
2、自定義配置文件
通過(guò)啟動(dòng)參數(shù)加載指定文件路徑下的配置文件,properties與ymll文件格式均支持
通過(guò)啟動(dòng)參數(shù)加載指定文件路徑下的配置文件時(shí)可以加載多個(gè)配置
多配置文件常用于將配置進(jìn)行分類,進(jìn)行獨(dú)立管理,或?qū)⒖蛇x配置單獨(dú)制作便于上線更新維護(hù)
3、自定義配置文件——重要說(shuō)明
單服務(wù)器項(xiàng)目:使用自定義配置文件需求較低
多服務(wù)器項(xiàng)目:使用自定義配置文件需求較高,將所有配置放置在一個(gè)目錄中,統(tǒng)一管理
基于SpringCloud技術(shù),所有的服務(wù)器將不再設(shè)置配置文件,而是通過(guò)配置中心進(jìn)行設(shè)定,動(dòng)態(tài)加
載配置信息
總結(jié):
1. SpringBoot在開(kāi)發(fā)和運(yùn)行環(huán)境均支持使用臨時(shí)參數(shù)修改工程配置
2. SpringBoot支持4級(jí)配置文件,應(yīng)用于開(kāi)發(fā)與線上環(huán)境進(jìn)行配置的靈活設(shè)置
3. SpringBoot支持使用自定義配置文件的形式修改配置文件存儲(chǔ)位置
4.基于微服務(wù)開(kāi)發(fā)時(shí)配置文件將使用配置中心進(jìn)行管理
三:多環(huán)境開(kāi)發(fā)
1、多環(huán)境開(kāi)發(fā)yaml版(一個(gè)配置文件)
2、多環(huán)境開(kāi)發(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)境開(kāi)發(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)境開(kāi)發(fā)獨(dú)立配置文件書寫技巧
根據(jù)功能對(duì)配置文件中的信息進(jìn)行拆分,并制作成獨(dú)立的配置文件,命名規(guī)則如下
application-devDB.yml
application-devRedis.yml
application-devMVC.yml
使用include屬性在激活指定環(huán)境的情況下,同時(shí)對(duì)多個(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版開(kāi)始使用group屬性替代include屬性,降低了配置書寫量
使用group屬性定義多種主環(huán)境與子環(huán)境的包含關(guān)系
四:多環(huán)境開(kāi)發(fā)控制
1、Maven與SpringBoot多環(huán)境兼容
2、SpringBoot中引用Maven屬性
3、執(zhí)行Maven打包指令,并在生成的boot打包文件.jar文件中查看對(duì)應(yīng)信息
總結(jié):
1.當(dāng)Maven與SpringBoot同時(shí)對(duì)多環(huán)境進(jìn)行控制時(shí),以Mavn為主,SpringBoot使用@..@占位符
讀取Maven對(duì)應(yīng)的配置屬性值
2.基于SpringBoot讀取Maven配置屬性的前提下,如果在Idea下測(cè)試工程時(shí)pom.xml每次更新需
要手動(dòng)compile方可生效
五、日志
1、日志基礎(chǔ)
添加日志記錄操作
設(shè)置日志輸出級(jí)別
設(shè)置日志組,控制指定包對(duì)應(yīng)的日志輸出級(jí)別,也可以直接控制指定包對(duì)應(yīng)的日志輸出級(jí)別
日志級(jí)別:
TRACE:運(yùn)行堆棧信息,使用率低
DEBUG:程序員調(diào)試代碼使用
INFO:記錄運(yùn)維過(guò)程數(shù)據(jù)
WARN:記錄運(yùn)維過(guò)程報(bào)警數(shù)據(jù)
ERROR:記錄錯(cuò)誤堆棧信息
FATAL:災(zāi)難信息,合并計(jì)入ERROR
優(yōu)化日志對(duì)象創(chuàng)建代碼
使用lombok提供的注解@Slf4j簡(jiǎn)化開(kāi)發(fā),減少日志對(duì)象的聲明操作
總結(jié):
1.日志用于記錄開(kāi)發(fā)調(diào)試與運(yùn)維過(guò)程消息
2.日志的級(jí)別共6種,通常使用4種即可,分別是DEBUG,INFO,WARN ,ERROR
3.可以通過(guò)日志組或代碼包的形式進(jìn)行日志顯示級(jí)別的控制
2、日志輸出格式控制
日志輸出格式
設(shè)置日志輸出格式
%d:日期
%m:消息
%n:換行
3、日志文件
設(shè)置日志文件(將日志輸出到文件中)
日志文件詳細(xì)配置(設(shè)置文件大小,超過(guò)配置,自動(dòng)寫入下一個(gè)配置)
到此這篇關(guān)于SpringBoot高級(jí)配置之臨時(shí)屬性、配置文件、日志、多環(huán)境配置的文章就介紹到這了,更多相關(guān)SpringBoot臨時(shí)屬性內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java 實(shí)戰(zhàn)練手項(xiàng)目之酒店管理系統(tǒng)的實(shí)現(xiàn)流程
讀萬(wàn)卷書不如行萬(wàn)里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+jsp+mysql+maven實(shí)現(xiàn)一個(gè)酒店管理系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平2021-11-11springboot項(xiàng)目不輸出nohup.out日志的解決
這篇文章主要介紹了springboot項(xiàng)目不輸出nohup.out日志的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07Springboot整合RabbitMQ實(shí)現(xiàn)發(fā)送驗(yàn)證碼的示例代碼
這篇文章主要介紹了Springboot整合RabbitMQ實(shí)現(xiàn)發(fā)送驗(yàn)證碼的功能,基于AMQP協(xié)議實(shí)現(xiàn)的消息隊(duì)列,它是一種應(yīng)用程序之間的通信方法,消息隊(duì)列在分布式系統(tǒng)開(kāi) 發(fā)中應(yīng)用非常廣泛,需要的朋友可以參考下2022-02-02mybatis-plus阻止全表更新與刪除的實(shí)現(xiàn)
BlockAttackInnerInterceptor 是mybatis-plus的一個(gè)內(nèi)置攔截器,用于防止惡意的全表更新或刪除操作,本文主要介紹了mybatis-plus阻止全表更新與刪除的實(shí)現(xiàn),感興趣的可以了解一下2023-12-12springboot集成測(cè)試容器重啟問(wèn)題的處理
這篇文章主要介紹了springboot集成測(cè)試容器重啟問(wèn)題的處理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11SpringMVC實(shí)現(xiàn)賬號(hào)只能在一處登陸
這篇文章主要為大家詳細(xì)介紹了SpringMVC如何實(shí)現(xiàn)賬號(hào)只能在一處登陸,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03idea中java及java web項(xiàng)目的常見(jiàn)問(wèn)題及解決
在IDEA中處理亂碼問(wèn)題主要涉及四個(gè)方面:文件編碼設(shè)置為UTF-8、編輯器默認(rèn)編碼調(diào)整、Tomcat運(yùn)行配置編碼設(shè)置以及解決cmd中的亂碼,此外,詳細(xì)介紹了在IDEA中創(chuàng)建Web項(xiàng)目的步驟,包括新建Java工程、添加Web框架支持、添加Tomcat依賴庫(kù)2024-09-09