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 의 난수 설정 기법 입 니 다.여러분 께 도움 이 되 셨 으 면 좋 겠 습 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.편집장 님 께 서 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.