在POM文件中新增以下配置
<profiles>
<profile>
<id>dev</id>
<properties>
<package.environment>dev</package.environment>
</properties>
<!-- 是否默认 true表示默认-->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>stage</id>
<properties>
<package.environment>stage</package.environment>
</properties>
</profile>
</profiles>
在application.yml中新增以下参数
spring:
profiles:
active: @package.environment@
同时新增配置文件application-{package.environment}.yml
按照POM文件中,我的新增配置文件分别为application-dev.yml application.stage.yml,如下图所示
在application-dev.yml中配置文件内容为
something: hcfdevv
在application-stage.yml中配置文件内容为
something: hcfstage
测试使用该配置
@RestController
@SpringBootApplication
public class HelloController extends SpringBootServletInitializer {
@Value("${something}")
String something;
@RequestMapping("hello")
String hello() {
return something;
}
public static void main(String[] args) {
SpringApplication.run(HelloController.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(HelloController.class);
}
}
打包测试,运行打包代码
mvn package -P dev
得到war包
将war包放入tomcat的webapps下,启动Tomcat
显示application-dev.yml中配置的参数内容
运行打包代码
mvn package -P stage
得到war包
将war包放入tomcat的webapps下,启动Tomcat
显示application-stage.yml中配置的参数内容。