在许多情况下,我们的项目在开发环境和生产环境中具有不同的环境配置。 例如,数据库结构。 此时,您可以使用profile为每个环境使用不同的配置文件或设置。
在spring boot中,命名约定允许您以特定格式{ application-{ profile }.properties }定义多个配置文件。 此外,在application.properyies文件中使用spring.profiles.active配置项指定一个或多个具体激活的配置文件。
另一方面,多环境的配置文件对于多环境的配置,各种项目构建工具和框架的基本思路是一致的。 Spring Boot也不例外,方法是配置多个不同环境的配置文件,使用打包命令指定要打包的内容,然后打包。 或者更简单。
如果未指定任何配置文件,spring boot缺省情况下将启动application-default.properties。
1.1、个人资料位置
配置文件位于以下四个位置,与放置application.properyies的位置类似:
当前目录的/config子目录下当前目录下classpath根的/config包下classpath根下1.2,配置文件命名
Spring Boot中的多环境配置文件名称必须符合application-- { profile }.properties格式。 其中{profile}对应于环境id。 示例:
application-dev.properties :开发环境
APP-test.properties :测试环境
application-prod.properties :生产
二、配置文件激活方式2.1、properties文件设置active
程序在启动时缺省加载application.properties设置,因此只需在application.properties文件中使用spring.profiles.active属性进行设置即可。 属性的值对应于上述{profile},如上述文件所示,对应于dev、test和prod的值。
2.2、在属性文件中设置包含
spring.profiles.include用于设置项目的公共配置。 也就是说,包含在include中的配置文件无条件变为活动。
2.3、在命令行中添加相关选项
在命令行中- -使用--spring.profiles.active=dev设置激活特定配置文件。
2.4、更改虚拟机配置
在启动命令行中添加-Dspring.profiles.active=dev配置。
三.内容补充3.1、屏蔽命令行设置
虽然从命令行更改属性值很有用,但从命令行更改APP应用程序执行的参数不是很安全吗? 因此,Spring Boot还提供了屏蔽命令行访问属性的设置,只有这样才能屏蔽。 spring application.setaddcommandlineproperties (false )。
3.2、设置Maven服务生成项目流程