A inicialização da mola suporta a configuração de números aleatórios quando o sistema está carregando.
Adicione o arquivo config/random.properties e adicione o seguinte:
#Random 32-bit MD5 string user.random.secret=${random.value}#Random int number user.random.intNumber=${random.int}#Random long number user.random.longNumber=${random.long}#Random uuiduser.random.uuid=${random.uuid}#Random 10 number user.random.lessten = $ {Random.int (10)}#Random 1024 ~ 65536 User.random.Range = $ {Random.int [1024.65536]}Adicionar aula de ligação:
importar org.springframework.boot.context.properties.configurationproperties; importar org.springframework.context.annotation.propertysource; importar org.springframework.tereotype.comPONN; "Config/Random.properties"}) classe pública RandomConfig {String private String; private int intnumber; privado int lessten; intervalo privado int; Longo longo do longo número longo; String privada 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; }}A saída é a seguinte:
secreto = 83a5c3402ef936a37842dc6de3d1af0f
intnumber = 1816149855
LESSTEN = 1
intervalo = 37625
longNumber = 8449008776720010146
UUID = E5BC2091-1599-45B1-ABD7-E3721AC77E6B
Para detalhes específicos da geração, consulte a classe de configuração de inicialização da primavera:
org.springframework.boot.context.config.randomValuePropertySource
Vamos dar uma olhada em seu código -fonte, a implementação é realmente muito simples.
public RandomValuePropertySource (Nome da String) {super (nome, new Random ());} objeto privado getRandomValue (string type) {if (type.equals ("int")) {return getsource (). nextInt (); } if (type.equals ("long")) {return getSource (). nextlong (); } String range = getRange (tipo, "int"); if (range! = null) {return getNextInRange (range); } range = getRange (tipo, "longo"); if (range! = null) {return getNextlonginRange (intervalo); } if (type.equals ("uuid")) {return uuid.randomuuid (). tostring (); } retornar getRandombytes ();} De fato, ele usa o java.util.Random e java.util.UUID e outras classes de ferramentas. A implementação é muito simples. Não vou analisá -lo em detalhes aqui. Você pode verificar a implementação desta classe sozinha.
Esta é a configuração para números aleatórios. O que eu sei é que a porta do aplicativo pode ser gerada aleatoriamente, mas os outros são realmente inúteis.
Resumir
O exposto acima é a configuração de inicialização da primavera, as habilidades de número aleatório introduzidas pelo editor. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!