Spring Boot 配置随机数的技巧代码详解
程序员文章站
2023-12-15 16:49:28
spring boot支持在系统加载的时候配置随机数。
添加config/random.properties文件,添加以下内容:
#随机32位md5字符串
u...
spring boot支持在系统加载的时候配置随机数。
添加config/random.properties文件,添加以下内容:
#随机32位md5字符串 user.random.secret=${random.value} #随机int数字 user.random.intnumber=${random.int} #随机long数字 user.random.longnumber=${random.long} #随便uuid user.random.uuid=${random.uuid} #随机10以内的数字 user.random.lessten=${random.int(10)} #随机1024~65536之内的数字 user.random.range=${random.int[1024,65536]}
添加绑定类:
import org.springframework.boot.context.properties.configurationproperties; import org.springframework.context.annotation.propertysource; import org.springframework.stereotype.component; @component @configurationproperties(prefix = "user.random") @propertysource(value = { "config/random.properties" }) public class randomconfig { private string secret; private int intnumber; private int lessten; private int range; private long longnumber; private string uuid; public string getsecret() { return secret; } public void setsecret(string secret) { this.secret = secret; } public int getintnumber() { return intnumber; } public void setintnumber(int intnumber) { this.intnumber = intnumber; } public int getlessten() { return lessten; } public void setlessten(int lessten) { this.lessten = lessten; } public int getrange() { return range; } public void setrange(int range) { this.range = range; } public long getlongnumber() { return longnumber; } public void setlongnumber(long longnumber) { this.longnumber = longnumber; } public string getuuid() { return uuid; } public void setuuid(string uuid) { this.uuid = uuid; } }
输出如下:
secret=83a5c3402ef936a37842dc6de3d1af0f
intnumber=1816149855
lessten=1
range=37625
longnumber=8449008776720010146
uuid=e5bc2091-1599-45b1-abd7-e3721ac77e6b
具体的生成细节可以参考spring boot的配置类:
org.springframework.boot.context.config.randomvaluepropertysource
来看下它的源码,实现其实很简单。
public randomvaluepropertysource(string name) { super(name, new random()); } private object getrandomvalue(string type) { if (type.equals("int")) { return getsource().nextint(); } if (type.equals("long")) { return getsource().nextlong(); } string range = getrange(type, "int"); if (range != null) { return getnextintinrange(range); } range = getrange(type, "long"); if (range != null) { return getnextlonginrange(range); } if (type.equals("uuid")) { return uuid.randomuuid().tostring(); } return getrandombytes(); }
其实就是使用了 java 自带的 java.util.random
和 java.util.uuid
等工具类,实现很简单,这里就不再详细解析了,大家可以自己去看下这个类的实现。
随机数的生成配置就是这么点了,我知道的是可以随机生成应用程序端口,其他的还真没用到。
总结
以上所述是小编给大家介绍的spring boot 配置随机数技巧,希望对大家有所帮助
推荐阅读
-
Spring Boot 配置随机数的技巧代码详解
-
详解Spring Boot下Druid连接池的使用配置分析
-
spring boot Logging的配置以及使用详解
-
spring boot application properties配置实例代码详解
-
详解Spring Boot配置使用Logback进行日志记录的实战
-
详解Spring Boot下Druid连接池的使用配置分析
-
spring boot Logging的配置以及使用详解
-
spring boot application properties配置实例代码详解
-
详解Spring Boot配置使用Logback进行日志记录的实战
-
Spring Boot加密配置文件特殊内容的示例代码详解