前言
对于一个项目而言,一般都是有多个环境的(开发,测试,生产等)。而在开发中,我们的配置文件在不同环境中可能是不同的,比如端口号,数据库连接信息等。那我们应该怎么切换配置文件呢?这就要用到profiles功能了,下面介绍如何在Spring Boot使用Profiles功能
Profiles
在Spring Boot中多环境配置文件名需要使用application-{profile}.properties的格式,{profile}对应的是你的环境标识。
//开发环境
application-dev.properties
//生产环境
application-prod.properties
那么我们如何激活某个配置文件呢?很简单
在 application.properties文件通过以下配置来激活 profile:
spring.profiles.active=dev
在 applcation.yml 文件中可以通过以下配置来激活 profile:
spring:
profiles:
active: dev
如果我们想切换成生产环境的配置文件,只需将dev改成prod即可
spring.profiles.active=prod
例:
@Profile
随便介绍一个注解@Profile
这个注解可以指定类或方法在特定的 Profile 环境生效。
例:根据不同的环境选择注入相应的的bean
@Bean(name = "proFileEntity")
@Profile("prod")
public ProFileEntity proFileEntity1(){
ProFileEntity proFileEntity = new ProFileEntity();
proFileEntity.setName("prod");
System.out.println("prod");
return proFileEntity;
}
@Bean(name = "proFileEntity")
@Profile("dev")
public ProFileEntity proFileEntity(){
ProFileEntity proFileEntity = new ProFileEntity();
proFileEntity.setName("dev");
System.out.println("dev");
return proFileEntity;
}
我使用dev环境启动Spring Boot,控制台打印的是dev,说明注入的是dev的bean