關(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來(lái)管理
@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)文章
SpringBoot3整合pageHelper實(shí)現(xiàn)分頁(yè)功能
PageHelper是一個(gè)開源的Java分頁(yè)插件,它提供了方便的分頁(yè)查詢功能,適用于大多數(shù)基于Java的持久層框架(如MyBatis、Hibernate等),本文給大家介紹了springboot3整合pageHelper實(shí)現(xiàn)分頁(yè)功能的方法,需要的朋友可以參考下2024-08-08
Java中的SimpleDateFormat的線程安全問(wèn)題詳解
這篇文章主要介紹了Java中的SimpleDateFormat的線程安全問(wèn)題詳解,sonar 是一個(gè)代碼質(zhì)量管理工具,SonarQube是一個(gè)用于代碼質(zhì)量管理的開放平臺(tái),為項(xiàng)目提供可視化報(bào)告, 連續(xù)追蹤項(xiàng)目質(zhì)量演化過(guò)程,需要的朋友可以參考下2024-01-01
SpringBoot部署在tomcat容器中運(yùn)行的部署方法
這篇文章主要介紹了SpringBoot部署在tomcat容器中運(yùn)行的部署方法,需要的朋友可以參考下2018-10-10
在Spring項(xiàng)目中引入高版本依賴并解決低版本沖突問(wèn)題的解決方法
在Spring項(xiàng)目的開發(fā)過(guò)程中,依賴管理是一個(gè)非常重要且復(fù)雜的問(wèn)題,我們可能需要引入更高版本的依賴來(lái)使用新特性或修復(fù)舊版本的Bug,然而,這些高版本依賴可能會(huì)與項(xiàng)目中已有的低版本依賴產(chǎn)生沖突,本文將詳細(xì)探討如何在Spring中引入高版本依賴,并解決低版本依賴沖突的問(wèn)題2025-03-03
Java中使用instanceof判斷對(duì)象類型的示例
在List<Object>中遍歷Object時(shí),先判斷類型,再定向轉(zhuǎn)換,本文給大家介紹Java中使用instanceof判斷對(duì)象類型,感興趣的朋友跟隨小編一起看看吧2023-08-08
spring boot下 500 404 錯(cuò)誤頁(yè)面處理的方法
本篇文章主要介紹了spring boot下 500 404 錯(cuò)誤頁(yè)面處理的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
說(shuō)明Java的傳遞與回調(diào)機(jī)制的代碼示例分享
這篇文章主要介紹了說(shuō)明Java的傳遞與回調(diào)機(jī)制的代碼示例分享,傳遞與回調(diào)機(jī)制是Java入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-09-09

