一、主配置
项目下的resouces资源文件夹下准备application.properties或者application.yml
目录结构如下图
application.properties文件内容如下
spring.application.name=b2b2c
server.port=8083
spring.profiles.active=test
在项目父pom文件中加入
<profiles>
<!--本地环境-->
<profile>
<id>local</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<spring.profiles.active>local</spring.profiles.active>
</properties>
</profile>
<!-- 测试环境 -->
<profile>
<id>test</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<spring.profiles.active>test</spring.profiles.active>
</properties>
</profile>
<!-- 开发环境 -->
<profile>
<id>dev</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<spring.profiles.active>dev</spring.profiles.active>
</properties>
</profile>
<!-- 生产环境 -->
<profile>
<id>pro</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<spring.profiles.active>pro</spring.profiles.active>
</properties>
</profile>
</profiles>
此时你查看maven的profiles
还需要准备不同环境下的配置,文件名称格式为application-名称.properties,比如application-test.properties,名称是一个可自定义部分,目的是为了区分方便
里面可以配置数据库等有关信息,如我的配置
#数据源
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/smart_parking?useUnicode=true&zeroDateTimeBehavior=convertToNull&characterEncoding=utf8&useOldAliasMetadataBehavior=true&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=123456
具体不赘述,依照自己项目需要配置
得到以下一个目录结构,其中绿色文件为新增加文件
到这里符合了开头处在父pom文件中的profiles的配置
二、多环境
为了让目标配置生效,我们必须要手动修改默认配置文件(application.properties)的
spring.profiles.active=xxx
如需要激活local环境,则
spring.profiles.active=local
需要激活test环境,则
spring.profiles.active=test
名字必须与你定义的配置文件名称一一对应,否则不起作用
我们来测试一下经过上面的步骤操作是否有效
上图证明可以
接下来测试test试试
经过以上的证明,此法可行,至于直接通过工具右侧的勾选选择,不生效,为了保险,手动修改即可
如有同学可通过工具右侧的勾选选择生效,请留言,希望帮到更多同学,感谢!