Spring Boot 설정 난수 기술 코드 상세 설명

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.util.Random java.util.UUID 등 도구 류 를 사 용 했 습 니 다.실현 은 간단 합 니 다.여기 서 더 이상 상세 하 게 해석 하지 않 겠 습 니 다.여러분 은 이런 유형의 실현 을 직접 볼 수 있 습 니 다.
랜 덤 수의 생 성 설정 은 바로 이 점 입 니 다.제 가 아 는 것 은 랜 덤 으로 응용 프로그램 포트 를 생 성 할 수 있다 는 것 입 니 다.다른 것 은 정말 사용 되 지 않 았 습 니 다.
총결산
위 에서 말씀 드 린 것 은 편집장 님 께 서 소개 해 주신 Spring Boot 의 난수 설정 기법 입 니 다.여러분 께 도움 이 되 셨 으 면 좋 겠 습 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.편집장 님 께 서 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기