一、自定義配置文件介紹
Spring Boot 是一個基於 Spring 的框架,通過簡化配置,使得快速構建單獨的、生產級別的 Spring 應用程序變得更為容易,而自定義配置文件是 Spring Boot 提供的便捷方式之一。Spring Boot 的自定義配置文件允許我們在不重新編譯代碼的情況下,修改 Spring Boot 應用程序的某些行為,這樣我們就可以靈活的管理和配置應用程序。Spring Boot 提供了多種方式來管理自定義配置文件,包括 YAML,Properties,Environment,CommandLine 等。 下面將分別進行介紹。
二、YAML自定義配置文件
YAML是現代化的可讀性強的數據序列化格式,過去我們通常使用 Properties 類型的文件,但是由於一些限制,如不支持多維結構等,YAML 逐漸地取代了 Properties 文件。通常來說,YAML 文件以 .yml 或者 .yaml 結尾。我們可以在 Spring Boot 應用程序的 classpath 下創建一個 application.yml 或者 bootstrap.yml 文件,並添加一些屬性來進行自定義配置。 讓我們來看一下如何在 application.yml 文件中添加屬性:
server:
port: 8080
spring:
datasource:
url: jdbc:mysql://localhost/test
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
通過上述配置,我們可以設置服務器端口號為 8080,並配置了數據庫連接信息。需要注意的是,在 YAML 文件中屬性之間的縮進必須要使用空格進行縮進。
三、Properties自定義配置文件
與 YAML 一樣,Properties 文件也是 Spring Boot 提供的自定義配置文件的一種方式,通過設置一些鍵值對來進行定製化配置。Properties 文件通常以 .properties 結尾,並且以鍵值對對的形式來保存各種配置信息。例如,我們可以在 application.properties 文件中設置服務器端口號和數據庫連接:
server.port = 8080
spring.datasource.url = jdbc:mysql://localhost/test
spring.datasource.username = root
spring.datasource.password = root
spring.datasource.driver-class-name = com.mysql.jdbc.Driver
需要注意的是,在 Properties 文件中,鍵和值之間使用 = 進行分隔,且屬性與值之間不需要引號括起來。
四、Environment自定義配置文件
Spring Boot 還支持使用環境變量來進行自定義配置文件的管理。我們可以在啟動 Spring Boot 應用程序時,通過設置環境變量來傳遞自定義配置信息。Spring Boot 將覆蓋運行時環境變量中的屬性。例如,在 Linux 下,我們可以通過 export 命令設置一個變量 MY_DB_URL,並將其值設置成我們需要連接的數據庫的 URL:
export MY_DB_URL=jdbc:mysql://localhost/test
然後,我們可以在啟動 Spring Boot 應用程序時,將其作為環境變量來傳遞:
java -jar myProject.jar --spring.datasource.url=${MY_DB_URL}
需要注意的是,我們可以使用 $ 來引用環境變量中的值,但是需要使用 {} 進行包裝。
五、CommandLine自定義配置文件
CommandLine 是 Spring Boot 的另一種方式,可用於在應用程序啟動時傳遞自定義配置信息。CommandLine 可以與之前介紹的自定義配置文件類型一起使用,以便更靈活地管理應用程序配置。 CommandLine 的參數值可以通過 args[] 以及 ApplicationArguments 來進行獲取。
@SpringBootApplication
public class MyApplication implements CommandLineRunner {
public static void main(String[] args) {
SpringApplication.run(MyApplication .class, args);
}
@Override
public void run(String... args) throws Exception {
System.out.println("Custom configuration: " + args[0]);
}
}
在上面的示例中,我們定義了一個名為 run() 的方法,通過 Override 註解來覆蓋 CommandLineRunner 接口中的 run() 方法。該方法通過 args[] 取得傳遞給應用程序的參數值。
六、總結
通過以上的介紹,我們知道了Spring Boot允許我們通過不同的方式來管理自定義配置文件,包括 YAML,Properties,Environment ,CommandLine 等。每種類型的自定義配置文件都可以用於設置應用程序的不同屬性,在項目開發中,配置文件的靈活使用,確實能夠為我們節省不少寶貴的時間和精力。
原創文章,作者:FPWJV,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/333878.html