在src/main/resources下添加配置文件application.propertieshtml
例如修改端口號java
#端口號 server.port=8089
在src/main/resources下添加,application-pro.properties,application-dev.properties和application.properties三個文件spring
application.propertiesapp
配置屬性激活的文件 spring.profiles.active=dev
application-pro.propertiesurl
#端口號 server.port=80 #自定義端口號讀取 my.name=pzr.dev
application-dev.propertiesspa
#端口號 server.port=8089 #自定義端口號讀取 my.name=pzr.pro
當application.propertie設置spring.profiles.active=dev時,則說明是指定使用application-dev.properties文件進行配置code
一、@PropertySource配置文件路徑設置,在類上添加註解,若是在默認路徑下能夠不添加該註解。server
須要用@PropertySource的有:htm
例如非application.properties,classpath:config/my.properties指的是src/main/resources目錄下config目錄下的my.properties文件,blog
例若有多配置文件引用,若取兩個配置文件中有相同屬性名的值,則取值爲最後一個配置文件中的值
在application.properties中的文件,直接使用@Value讀取便可,applicarion的讀取優先級最高
@PropertySource({"classpath:config/my.properties","classpath:config/config.properties"}) public class TestController
二、@Value屬性名,在屬性名上添加該註解
@Value("${my.name}") private String myName;
yaml格式
@Value("#{'${list}'.split(',')}") private List<String> list; @Value("#{${maps}}") private Map<String,String> maps; @Value("#{${redirectUrl}}") private Map<String,String> redirectUrl;
配置文件
list: topic1,topic2,topic3 maps: "{key1: 'value1', key2: 'value2'}" redirectUrl: "{sso_client_id: '${id}',sso_client_secret: '${secret}',redirect_url: '${client.main.url.default}'}"
注意:
上面的list配置中,必定不要用「」把list全部的成員value包起來,要否則解析報錯。
上面的map配置中,必定要用「」把map所對應的value包起來,要否則解析會失敗,致使不能轉成 Map<String,String>。