SpringBoot配置

文章介绍了如何通过@Value注解在Spring中获取配置参数,包括正常变量、静态变量的处理以及在类实例化时的使用。同时,展示了如何在配置文件中生成随机数,如int、long和字符串。此外,详细阐述了Spring的多环境配置策略,包括单一配置文件、多配置文件的使用,以及配置文件的加载顺序。
摘要由CSDN通过智能技术生成
一、配置参数引用
  • 通过@Value注解获取
  • 注解使用类由Spring管理,即类上需要添加@Component@Service@RestController等注解
  • 静态变量需要通过set方法进行获取,注解添加在set方法上
  • 变量类被new新建了实例,需要使用@Autowired
//情况一:正常变量
public class VariateDto { 
    @Value("${normal_value_path}")
    private String normalValue;

    //情况二:静态变量
    private static String staticValue;
    @Value("${static_valud_patch}")
    public void setStaticValue(String staticValue) {
        this.staticValue = staticValue;
    }

     //情况三:类被new新建了实例,而没有使用@Autowired
     @Value("${variate}")
     private String variate; 
} 

@Component
public class VariateBusi {
    /*错误用法*/
    VariateDto  errorVariate = new VariateDto ();
  
    /*正确用法*/
    @Autowired
    VariateDto  variateDto;
}
二、使用随机数
  • 配置文件中通过${rondom}配置来生成int、long、string随机数
random:
  #随机int
  int: ${random.int}
  #随机long
  long: ${random.long}
  #随机字符串
  string: ${random.value}
  #10以内的随机int
  ingNum: ${random.int(10)}
  #10-20的随机int
  ingNum1: ${random.int[10,20]}
三、多环境配置
1、单一配置文件
#默认环境
server:
  port: 8080
---
#研发测试环境
spring:
  profiles: dev
server:
  port: 8081
---
#生产交互环境
spring:
  profiles: pro
server:
  port: 8082
2、多配置文件
  • 利用spring.profiles.active配置指向具体的配置文件,子配置文件命名方式为application-{profile}.yml
spring:
  profiles:
    active: dev
  • 利用命令行参数可修改配置参数
java -jar xxx.jar --spring.profiles.active=dev
3、加载顺序
  • 命令行参数
  • SPRING_APPLICATION_JSON中的属性;SPRING_APPLICATION_JSON是以JSON格式配置在系统环境变量中的内容;
  • java:comp/env中的JNDI属性;
  • Java的系统属性。可通过System.getProperties()获取的内容;
  • 操作系统的环境变量;
  • 通过random.*配置的随机属性;
  • 位于当前应用jar包之外,针对不同{profile}环境的配置文件内容;
  • 位于当前应用jar包之内,针对不同{profile}环境的配置文件内容;
  • 位于当前应用jar包之外的application.properties和YAML配置内容;
  • 位于当前应用jar包之内的application.priperties和YAML配置内容;
  • 在@Configuration注解修改的类中,通过@PropertySource注解定义的属性;
  • 应用默认属性,使用SpringApplication.setDefaultProperties定义的内容。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值