關(guān)于application.yml基礎(chǔ)配置以及讀取方式
一、配置文件的格式
1.SpringBoot提供了3種配置文件的格式
- properties(傳統(tǒng)格式/默認(rèn)格式)
- yml(主流格式)
- yaml
二、配置文件
1. SpringBoot中導(dǎo)入對(duì)應(yīng)starter后,提供對(duì)應(yīng)配置屬性
2.書寫SpringBoot配置采用關(guān)鍵字+提示形式書寫
三、配置文件的加載順序
properties優(yōu)先級(jí)>yml優(yōu)先級(jí)>yaml優(yōu)先級(jí)
不同配置文件中相同配置按照加載優(yōu)先級(jí)相互覆蓋,不同配置文件中不同配置全部保留。
四、yml文件內(nèi)容
#簡(jiǎn)單配置
server:
port: 80
#對(duì)象配置
users:
name: zhangsan
id: 18
#簡(jiǎn)單列表配置,- 后跟1個(gè)空格
likes:
- 游泳
- 打球
- 讀書
#列表中是對(duì)象,key: value,不要忘記:后的空格
books: [{name: 三國(guó),id: 435},{name: 水壺,id: 6599}]
#在配置文件中可以使用屬性名引用方式引用屬性
baseDir: /usr/local/fire
center:
dataDir: ${baseDir}/data
logDir: ${baseDir}/log
#屬性值中如果出現(xiàn)轉(zhuǎn)義字符,需要使用雙引號(hào)包裹
lesson: "Spring\tboot\nlesson"五、讀取yml配置
5.1 使用@Value讀取單個(gè)數(shù)據(jù)
屬性名引用方式:${一級(jí)屬性名.二級(jí)屬性名...}
@Value("${books[1].name}")
private String bookName;5.2 使用Environment對(duì)象封裝全部配置信息
- 使用Environment對(duì)象封裝全部配置信息
- 使用@Autowired自動(dòng)裝配數(shù)據(jù)到Environment對(duì)象中
@Autowired
private Environment env;
System.out.println(env.getProperty("books[1].name"));5.3 自定義對(duì)象封裝指定數(shù)據(jù)
- yml文件
datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC username: root password: root
- 自定義對(duì)象
@Component //bean對(duì)象,由spring來管理
@ConfigurationProperties(prefix = "datasource") //獲取yml文件中datasource的屬性,需要get和set方法,此處省略
public class MyDataSource {
private String driverClassName;
private String url;
private String userName;
private String password;
}- 在使用的地方,使用@Autowired自動(dòng)裝配
@Autowired private MyDataSource myDataSource;
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
微信js sdk invalid signature簽名錯(cuò)誤問題的解決方法分析
這篇文章主要介紹了微信js sdk invalid signature簽名錯(cuò)誤問題的解決方法,結(jié)合實(shí)例形式分析了微信簽名錯(cuò)誤問題相關(guān)解決方法,需要的朋友可以參考下2019-04-04
springboot整合mybatisplus,找不到bean解決方案
文章主要討論了在使用MyBatisPlus與SpringBoot集成時(shí)遇到的問題及解決方案,包括確保@MapperScan注解正確配置、調(diào)整SpringBoot版本以匹配MyBatisPlus、檢查SpringBoot與JDK版本的兼容性,以及嘗試將MySQL數(shù)據(jù)庫直接連接到IDEA中等方法2026-04-04
使用Spring掃描Mybatis的mapper接口的三種配置
這篇文章主要介紹了使用Spring掃描Mybatis的mapper接口的三種配置,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
Java中從JSON轉(zhuǎn)Java實(shí)體的多種方法詳解
在現(xiàn)在的日常開發(fā)中不管前端還是后端,JSON 格式的數(shù)據(jù)是用得比較多的,甚至可以說無處不在,這篇文章主要給大家介紹了關(guān)于Java中從JSON轉(zhuǎn)Java實(shí)體的多種方法,需要的朋友可以參考下2023-12-12
IDEA如何加載resources文件夾下文件相對(duì)路徑
這篇文章主要介紹了IDEA如何加載resources文件夾下文件相對(duì)路徑問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
java項(xiàng)目打包成可執(zhí)行jar用log4j將日志寫在jar所在目錄操作
這篇文章主要介紹了java項(xiàng)目打包成可執(zhí)行jar用log4j將日志寫在jar所在目錄操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08
Java中Map集合遍歷的多種實(shí)現(xiàn)方式
本文主要介紹了Java中Map集合遍歷的多種實(shí)現(xiàn)方式,包括KeySet、EntrySet、Lambda及Stream API,具有一定的參考價(jià)值,感興趣的可以了解一下2025-05-05
通過Java實(shí)現(xiàn)添加或刪除PDF中的附件
當(dāng)我們?cè)谥谱鱌DF文件或者PPT演示文稿的時(shí)候,為了讓自己的文件更全面詳細(xì),就會(huì)在文件中添加附件。本文為大家整理了Java實(shí)現(xiàn)添加或刪除PDF中的附件的方法,需要的可以參考下2023-01-01

