上一篇:Spring Boot 2.0.2 教程 - Hello World 之 intellij idea 创建web项目 - 02
Spring Boot使用全局的配置文件application.properties,通常存放在src/main/resources目录下或者类路径的/config下在上一节中我们创建的项目spring boot就已经生成好了,默认它是一个空文件,如果没有新建一个即可
新增配置及获取
application.properties 新增
app.css.version = 1.0.0
测试类VersionController.java
@RestController
public class VersionController {
@Value("${app.css.version}")
private String appCssVersion;
@RequestMapping("/version")
public String print(){
return String.format("app.css.version:%s",appCssVersion);
}
}
浏览器访问
自定义配置文件
有时我们并不期望把所有的配置都存放在application.properties,spring boot允许自定义配置文件,这里我新建一个app.properties
内容如下
app.js.version = 2.0.0
创建读取app.properties类 AppPropertiesUtil.java
pom.xml添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
@Component
@Configurable
@ConfigurationProperties(prefix = "app") //只注入以app开头的属性
@PropertySource("classpath:app.properties") //配置文件位置
public class AppPropertiesUtil {
@Value("${app.js.version}")
private String appJsVersion;
public String getAppJsVersion() {
return appJsVersion;
}
public void setAppJsVersion(String appJsVersion) {
this.appJsVersion = appJsVersion;
}
}
AppVersionController.java
@RestController
public class AppVersionController {
@Autowired
private AppPropertiesUtil appPropertiesUtil;
@RequestMapping("/appVersion")
public String print(){
return appPropertiesUtil.getAppJsVersion();
}
}
浏览器访问
http://localhost:8080/appVersion
多环境配置
通常同一套程序会被本地,测试,生产几个不同的环境,spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识application.properties存放通用配置,通过配置spring.profiles.active来配置默认的
常用的命名规范
application-dev.properties:开发环境
application-test.properties:测试环境
application-prod.properties:生产环境
在application.properties 指定server.port来设置项目启动端口值
测试指定不同spring.profiles.active值以不同的端口启动项目
application-dev.properties新增
server.port = 8080
application-prod.properties新增
server.port = 8081
application设置spring.profiles.active=dev 或 prod 来验证