美文网首页
SpringBoot2.x配置文件中随机数的实现

SpringBoot2.x配置文件中随机数的实现

作者: 梅西爱骑车 | 来源:发表于2020-08-11 04:41 被阅读0次

    随机数的使用你是不是经常用到?我们在进行运行SpringBoot单元测试时一般不会指定应用程序启动时的端口号,可以在application.properties文件内配置server.port的值为${random.int(10000)},代表了随机使用0~10000的端口号。

    一、 配置文件方式

    先来看看${random.xxx}具体提供了哪几种的随机配置。

    1.1 int随机数

    使用${random.int}方式配置,结果从int的最大值、最小值中间产生,int的最小值为-2147483648,最大值为2147483647,配置如下所示:

    server:
      port: ${random.int}
    

    1.2 int范围随机数

    使用${random.int(10000)}方式配置,这种方式我们可以指定随机数的最大值,当然不能超过2147483647,配置如下所示:

    server:
      port: ${random.int(10000)}
    

    注意事项:${random.int(10000)}随机数的值将会在0~10000之间产生,配置的最大值必须为正整数,如果需要指定随机数的最小值,可以使用${random.int[100,200]}方式配置,这样只会从100~200之间产生随机数(包括最小值,不包括最大值)。

    2.1 long随机数

    使用${random.long}方式配置,结果会从long的最大值、最小值中间产生,long的最小值为-9223372036854775808,最大值为9223372036854775807,配置方式如下所示:

    config:
      longValue: ${random.long}
    

    其他略......

    3.1 uuid随机数

    uuid因为它的唯一性,应该是我们平时开发中比较常用到的。

    SpringBoot也为我们考虑到了这一点,我们只需要使用${random.uuid}就可以获得一个随机的uuid字符串,配置方式如下所示:

    config:
      uuid: ${random.uuid}
    

    二、@Value方式

    如果在我们在编码中需要用到随机数的生成,${random}是支持注入使用的,主要还是因为它的实现继承自PropertySource。

    我们可以在Spring IOC所管理的类内直接使用@Value注解进行注入使用,如下所示:

    /**
     * 随机生成uuid字符串
     */
    @Value("${random.uuid}")
    private String uuid;
    /**
     * 随机生成0~1000的正整数
     */
    @Value("${random.int(1000)}")
    private int maxInt;
    /**
     * 随机生成0~102400的long类型数值
     */
    @Value("${random.long(102400)}")
    private long maxLong;
    

    相关文章

      网友评论

          本文标题:SpringBoot2.x配置文件中随机数的实现

          本文链接:https://www.haomeiwen.com/subject/ppcrrktx.html