文章目錄
- 配置文件的作用
- 配置文件的格式
- Properties
- Properties基本語法
- 讀取Properties配置文件
- yml
- yml基本語法
- 讀取yml配置文件
- Properties VS Yml
配置文件的作用
整個項目中所有重要的數據都是在配置文件中配置的,具有非常重要的作用。比如:
- 數據庫的連接信息
- 項目的啟動端口
- 用于發現問題和定位問題的日志
配置文件的格式
注:
- properties格式是老版本,在創建SpringBoot項目時默認使用properties格式;yml格式是新版本。
- properties格式和yml格式可以同時出現在一個項目中,但是properties格式的配置文件優先級高(當在兩種格式的配置文件里出現同一個配置時會采用properties格式的配置),在加載完properties格式的配置文件后也會加載yml格式的配置文件
- 建議在一個項目中只采用一種格式,便于維護。
Properties
Properties基本語法
server.port=8888
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/learning?characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=
注:
properties格式的配置文件是SpringBoot項目默認的配置文件
properties是以鍵值對的形式組織的,key和value之間用=連接
缺點:有很多冗余的信息,使用yml格式來解決
讀取Properties配置文件
@Component
public class ReadProperties {@Value("${server.port}")private String port;@PostConstructpublic void postConstruct(){System.out.println("server.port:" + port);}
}
注:
- 我們可以使用@Value注解來主動獲取到配置文件中的內容
- @Value注解使用 ${} 的格式來讀取配置文件
yml
yml基本語法
server: port:8080spring:datasource:url: jdbc:mysql://127.0.0.1:3306/learning?characterEncoding=utf8&useSSL=falseusername: rootpassword:
注:
- yml也是以鍵值對的形式組織的,key和value之間用:連接,:和value之間必須有一個空格
- yml有很多優點:可讀性高、寫法簡單、支持更多的數據類型、支持更多的編程語言
讀取yml配置文件
@Component
public class ReadYml {@Value("${server.port}")private String port;@PostConstructpublic void postConstruct() {System.out.println("Read YML,port:" + port);}
}
注:讀取yml格式配置文件的方式和讀取properties格式配置文件的方式一樣,都是使用@Value注解,采用 ${} 格式讀取。
Properties VS Yml
- properties是以鍵值對 key=value 的形式配置的;yml是以 key: value 的形式配置的,層級之間采用換行縮進的方式,且空格絕對不能少
- properties是早期的配置格式,有數據冗余的問題;yml是新的配置格式,解決了數據冗余的問題
- yml的通用性更好,支持更多的編程語言
- yml支持更多的數據類型