Spring Boot 2.0.2 教程 - 配置文件application.properties - 03
非原创 java_world 发表于:2018-08-10 16:38:05
  阅读 :132   收藏   编辑

上一篇:Spring Boot 2.0.2 教程 - Hello World 之 intellij idea 创建web项目 - 02

Spring Boot使用全局的配置文件application.properties,通常存放在src/main/resources目录下或者类路径的/config下在上一节中我们创建的项目spring boot就已经生成好了,默认它是一个空文件,如果没有新建一个即可

21

新增配置及获取

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);
    }

}

浏览器访问

http://localhost:8080/version

t

自定义配置文件

有时我们并不期望把所有的配置都存放在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

23

多环境配置

通常同一套程序会被本地,测试,生产几个不同的环境,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 来验证