背景
很多时候,我们项目在开发环境和生成环境的环境配置是不一样的,例如,数据库配置,在开发的时候,我们一般用测试数据库,而在生产环境的时候,我们是用正式的数据,这时候,我们可以利用profile在不同的环境下配置用不同的配置文件或者不同的配置。
spring boot 提供
spring boot允许你通过命名约定按照一定的格式(application-{profile}.properties)来定义多个配置文件,然后通过在application.properyies通过spring.profiles.active来具体激活一个或者多个配置文件,如果没有没有指定任何profile的配置文件的话,spring boot默认会启动application-default.properties。
profile的配置文件可以按照application.properyies的放置位置一样,放于以下四个位置:
在这里我们就定义俩个profile文件,
application-sit.properties和application-prd.properties,
并在俩个文件中都分别
写上变量
和
这个是配置文件
我们在application.properyies也写上,并把profile切换到application-sit.properties的配置文件
可以通过这样子来测试
在浏览器中输入:http://localhost:8889/task/ 或者http://localhost:8889/task
出现如下返回内容
在这里可以看到spring.profiles.active激活的profile不同,打印出来的结果也不一样。
除了可以用profile的配置文件来分区配置我们的环境变量,在代码里,我们还可以直接用@Profile注解来进行配置,例如数据库配置,这里我们先定义一个接口
分别定义俩个实现类来实现它