IDEA-Spring Boot多环境配置及属性引用生成

Profile多环境配置

Spring Boot框架提供了多环境配置的方式,分别是Profile文件多环境配置和@Profile注解多环境配置。

使用Profile文件进行多环境配置

  • 在Spring Boot框架中,使用Profile配置文件进行多环境配置时,该配置文件名必须满足application-{profile}.properties的格式,其中{profile}对应具体的环境标识。
  • 示例
application-dev.properties	//开发环境配置文件
application-test.properties //测试环境配置文件
application-prod.properties //生产环境配置文件
...
对应配置文件: 使用不同的端口号进行启动测试
server.port=801x

在主配置类application.properties中激活开发配置文件

#指定要激活的profile多环境配置文件
spring.profiles.active=dev
#也可以在控制台执行下列命令激活环境配置
java -jar xxx.jar --spring.profiles.active=dev
  • 启动当前项目主类,可以看到端口号变为我们配置文件配置的端口

使用@Profile注解进行多环境配置

除了使用Profile文件进行多环境配置外,还可以使用@Profile注解进行多环境配置。
@Profile注解主要作用于类,并通过value属性指定配置环境(等同于Profile文件名称中的profile值)
使用@Profile注解配置的环境,同样需要在全局配置文件中激活。
  • 示例
// config包下添加Profile注解多环境配置
@Configuration
@Profile("dev")
public class DevDBConnector {
    public void configure(){
        System.out.println("数据库配置环境dev");
    }
}

//在controller包下创建类
@RestController
public class DBController {
    @Autowired
    private DevDBConnector devDBConnector;

    @GetMapping("/showDB")
    public void showDB(){
        devDBConnector.configure();
    }
}
  • 启动SpringBoot项目测试 localhost:808x/showDB,可在控制台看到结果
    在这里插入图片描述

随机值设置以及参数间引用

	在配置文件中设置属性时,除了可以通过之前的直接赋值配置属性外,还可以使用随机值和参数间
引用来对属性值进行设置。
  • 随机值设置
    • 使用Spring Boot内嵌的RandomValuePropertySource类。
    • 随机值设置的语法格式为${random.xx},xx表示指定生成的类型和范围
 my.string=${random.value} //配置随机字符串
 my.number=${random.int}   //配置随机整数
 my.bignumber=${random.long} //配置随机long类型数
 my.uuid=${random.uuid}      //配置随机UUID类型数
 my.number=${random.int(10)} //配置小于10的随机整数
 my.number=${random.int[1024,65536]} //配置在1024-65536之间的随机整数
  • 参数间引用
    • 参数间引用的语法格式为${xx},xx表示已经配置过的属性名
app.name=MyApp
app.description=${app.name} is a Spring Boot application
  • 测试
#随机值设置以及参数间引用配置
my.number=${random.int(10)} 
my.numberIs= my number is ${my.number}

在测试类中测试placeholderTest方法,可以得到结果

	@Value("${my.numberIs}")
    private String numberIs;
    @Test
    void placeholderTest(){
        System.out.println(numberIs);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值