SpringBoot-03- 配置文件 Properties

簡介
使用Spring Initializer快捷創建SpringBoot的項目自動生成了一個全局的application.properties配置文件。

一、作用

1、修改SpringBoot自動配置的默認值;
2、添加自定義屬性;

配置文件命名規則 : application-{profile}.properties
加載配置文件的特性:springboot啓動會對項目中所有的配置文件都掃描加載,進行互補配置,但在相同配置下有優先級區別,高優先級會覆蓋低優先級的配置

二、優先級規則

springboot啓動會自動掃描項目中的所有application-xxx.properties文件,並將根據優先級與互補配置規則選擇springboot的默認配置文件。

比如我們在resources下創建一個config文件夾,裏面也創建一個application.properties的文件。

  • 在自己新建配置文件中設置 端口號爲6688
  • 在系統自帶配置文件中設置 端口號爲6699,請求路徑/demo

根據運行結果可得規則:優先級高低+互補配置

除此外,SpringBoot還支持很多方法對其配置,比較常用的還有運行時命令行配置:

java -jar xxx-jar --server.port=8077 --server.context-path=/abc

三、常用配置

1、系統的配置文件application.properties:

一般配置端口號、servlet容器、數據庫、redis、進程數、請求超時時間、文件上傳大小等等的配置;

server.servlet.context-path=/demo
spring.server.port=8899
spring.datasource.url=jdbc:oracle:thin:@xxx:0000/DEMO
spring.datasource.username=xxx
spring.datasource.password=xxx
spring.server.MaxFileSize=300MB
spring.server.MaxRequestSize=500MB

當然也可以設置很多其他常量,比如: 在系統的配置文件application.properties中設置一些常量值,然後用一個類取獲取這些值!
a. 設置常量值:

b.給Person類賦值:

c. 測試運行

2、自定義的配置文件: xxx.properties:

主要用於自定義一些公共常量、路徑地址、公共屬性等,比如針對上邊的例子,我們就可以把常量配置提取出來放到自定義的文件中。
這種配置文件SpringBoot是不自動識別的,使用時需要自己通過註解的方法配置。

a. 設置常量值:

b.給Person類賦值:

/**
 *  要求:將配置文件中配置的每一個屬性的值都映射到組件中
 *
 * @ConfigurationProperties(prefix = "person")默認從全局配置文件中取
 * @ConfigurationProperties:告訴springboot將本類中的所有屬性和配置文件中相關的配置進行綁定;
 * prefix = "person":配置文件中person下的所有屬性進行一一映射
 * 只有這個組件是容器中的組件,才能使用容器提供的ConfigurationProperties功能
 *
 * @PropertySource(value = {"classpath:person.properties"}):加載指定的配置文件
 * classpath:person.properties :配置文件的路徑
 */
 
@Component
@ConfigurationProperties(prefix = "person")
@PropertySource(value = {"classpath:person.properties"})

public class Person {
    private String name;
    private Integer age;
    private  String birth;
    private Boolean man;
    ....
    }

c. 測試運行

四、多profile文件配置

我們在實際的開發中會配置兩個文件分別對應開發環境與發佈環境。
開發項目時使用生產環境的配置,等到部署正式服務時切換到正式環境的配置;
實際開發過程中一般會新建兩個properties文件:

application.properties: 配置公共屬性
application-dev.properties: 配置開發環境屬性,如測試數據庫信息等
application-pro.properties: 配置發佈環境屬性,如正式數據庫信息等


配置文件的激活方式:

1、在配置文件中指定

spring.profiles.active=dev

2、命令行:

java -jar xxxx.jar --spring.profiles.active=dev

3、手動設置
選擇Edit Configurations

Active profiles:中輸入對應的配置文件profile

效果:
不設置

設置爲dev

設置爲pro

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章