欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 【SpringBoot】系统配置之随机数和配置引用

【SpringBoot】系统配置之随机数和配置引用

2025/2/23 0:34:35 来源:https://blog.csdn.net/wenhuakulv2008/article/details/140621796  浏览:    关键词:【SpringBoot】系统配置之随机数和配置引用

今天是2024年7月22日,30天让改变发生第5天,50行

SpringBoot提供的RandomValuePropertySource配置类可以很方便地生成随机数,可以生成integer、long、uuids、spring类型的数据。下面通过示例来演示如何配置生成随机数。

一、首先,在application.properties中添加随机数的配置项。

#随机字符串

cfg.random.value=${random.value}

#uuid

cfg.random.uuid=${random.uuid}

#随机int

cfg.random.number=${random.int}

#随机long

cfg.random.bignumber=${random.long}

#10以内的随机数

cfg.radnom.test1=${random.int(10)}

#10-20的随机数

cfg.random.test2=${random.int[10,20]}   12

二、然后,创建配置映射类ConfigRandomValue获取随机数配置项,读取配置项的方式和读取普通配置项的方式一样:通过@Value或者@ConfigurationProperties注解来读取。示例代码如下:

@Component

public class ConfigRandomValue{

    @Value("${cfg.random.value}")

    private String secret;

    @Value("${cfg.random.number}")

     private int number;

    @Value("${cfg.random.bignumber}")

     private long bigNumber;

    @Value("${cfg.random.uuid}")

     private String uuid;

    @Value("${cfg.random.test1}")

     private int number2;

    @Value("${cfg.random.test2}")

     private int number3;       26

 

    //省略getter、setter

}

三、最后,验证随机数配置是否生效。创建单元测试,验证随机数是否生成成功。示例代码如下:

@Autowired

private ConfigRandomValue randomValue;

@Test

void getRandom(){

System.out.println(randomValue.getSecret());

System.out.println(randomValue.getUuid());

System.out.println(randomValue.getBigNumber());

System.out.println(randomValue.getNumber);

System.out.println(randomValue.getNumber2());

System.out.println(randomValue.getNumber3());

}  36

在上面的示例中,首先注入了自定义的随机数生成配置类,然后调用了相关的配置项来验证随机数规则是否生效。

3.3.2 配置引用

application.properties

my.name = ZhangSan

my.sex=1

my.des= My name is ${my.name}     40

${my.name}还可以使用":"指定默认值,避免没有配置参数导致程序异常,示例代码如下:

my.des=My name is ${my.name:weiz}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词