多環(huán)境配置
環(huán)境參數(shù)配置文件列表:
application.properties
#dev: 開發(fā)環(huán)境
#pro: 正式環(huán)境
#pre: 預發(fā)布環(huán)境
#test: 測試環(huán)境
spring.profiles.active=dev
default.application.name=label
server.port=9108
mybatis.mapper-locations=classpath:mapper/*.xml
第一個參數(shù)spring.profiles.active
(假設值是dev
)其中之一作用是最后會讀取application.properties
和application-{dev}.properties
這兩個文件
我們定義任意字符串表明開發(fā)環(huán)境满钟,正式環(huán)境,預發(fā)布環(huán)境,測試環(huán)境
properties讀取
在這里使用如下方法讀取的:
import org.springframework.core.env.Environment;
@RequestMapping("/home")
@Api("Default controller")
@RestController
public class HomeController {
@Autowired
Environment environment;
@RequestMapping(value = "test",method = RequestMethod.GET)
public DataResult test() {
// 這個在application.properites里
String value1 = this.environment.getProperty("com.all.value");
// 這個在application-dev.properites里
String value2 = this.environment.getProperty("com.dev.value");
// 這個在application-test.properites里
String value3 = this.environment.getProperty("com.test.value");
Map<String, Object> res = new HashMap<>();
res.put("com.all.value", value1);
res.put("com.dev.value", value2);
res.put("com.test.value", value3);
return DataResult.ok(res, ErrorCode.Success);
}
}
- 如果
spring.profiles.active=dev
房待,那么value1和value2是有值料饥,value3沒有值 - 如果
spring.profiles.active=test
,那么value1和value3是有值,value2沒有值 - 如果
spring.profiles.active=pro
笼蛛,那么value1是有值窝爪,value2和value3沒有值