开发者在项目进行发布或者运行时,一般需要对配置文件进行大量的修改
比如:在本地开发环境、测试环境、生产环境这些环境中,它们所使用的数据库配置信息、redis 配置信息、自定义的其他配置信息都是不一样的,当切换到不同的环境进行项目部署,相应的配置信息要对应进行修改
为了解决上述提到的问题,SpringBoot 提供了 profile
1. SpringBoot 约定在不同的环境下配置文件的命名规则为:
application-{ profile }.properties
其中 profile 为占位符,表示当前环境的名称,一般来说:profile 取值为:dev(开发),test(测试),prod(生产)
2. 下面详细进行介绍
SpringBoot 项目创建默认有一个 application.properties 配置文件,一般来说,这个配置文件中所写的配置信息为其他环境所公有的,也就是不需要进行修改的配置信息
对于其他的三个配置文件:
application-dev.properties 表示在开发环境的具体配置信息
application-test.properties 表示在测试环境的具体配置信息
application-prod.properties 表示在生产环境的具体配置信息
3. 看到这里你们会问,那么启动项目时如何指定使用哪个配置文件呢?
在基础配置文件:application.properties 中使用
spring.profiles.active=dev
来指定启动的时候使用哪个配置文件,dev表示上面的开发配置文件,test测试,prod生产
4. 看到这里你们又会问,在服务器启动的时候使用的是 jar 包呀,那么怎么指定具体使用哪个配置文件呢?
对于:hello-SNAPSHOT.jar 启动时使用生产的配置文件
java -jar hello-SNAPSHOT.jar --spring.profiles.active=prod &
prod 生产,test 测试,dev 开发