背景介绍

我的项目有开发、测试、生产至多有这三个环境,所须要的配置信息必定不一样,所以打包的时候能够指定应用哪一个配置文件。

如测试环境应用:mvn package -P test,这时候的${env}的值就是test,打包的时候src/main/resources下的配置文件的占位符${xx.xx}将会被test.properties对应的xx.xx地位替换。

应用例子

首先增加pom.xml配置信息,filter指定环境配置文件目录,resources指定要替换的资源文件目录,profiles指定不同环境对应的匹配文件。

如spring-beans.xml是一个资源配置文件,外面的test.name通过在打包的时候占位符替换。

test.properties内容为:test.name=hi,test,其余文件相似。

整个maven构造

所以当我mvn package -P test 打完包后,去查看打成的包外面的spring-beans.xml的内容,就会变成以下替换实现的样子。

这样就实现了不同环境资源的配置,在打包编译期就确定下来。

近期热文举荐:

1.600+ 道 Java面试题及答案整顿(2021最新版)

2.终于靠开源我的项目弄到 IntelliJ IDEA 激活码了,真香!

3.阿里 Mock 工具正式开源,干掉市面上所有 Mock 工具!

4.Spring Cloud 2020.0.0 正式公布,全新颠覆性版本!

5.《Java开发手册(嵩山版)》最新公布,速速下载!

感觉不错,别忘了顺手点赞+转发哦!