programing

스프링 부트: 기본값을 구성 가능한 속성으로 설정

closeapi 2023. 3. 17. 21:29
반응형

스프링 부트: 기본값을 구성 가능한 속성으로 설정

스프링 부트 프로젝트의 속성 클래스는 다음과 같습니다.

@Component
@ConfigurationProperties(prefix = "myprefix")
public class MyProperties {
    private String property1;
    private String property2;

    // getter/setter
}

다음으로 application.properties 파일의 다른 속성에 기본값을 설정합니다.property1아래 예시와 마찬가지로 @Value를 사용합니다.

@Value("${myprefix.property1:${somepropety}}")
private String property1;

다음 예시와 같이 스태틱 값을 할당할 수 있습니다.여기서 "default value"는 디폴트값으로 할당됩니다.property,

@Component
@ConfigurationProperties(prefix = "myprefix")
public class MyProperties {
    private String property1 = "default value"; // if it's static value
    private String property2;

    // getter/setter
}

기본값이 다른 속성인 스프링부트에서 @ConfigurationProperties 클래스(타입을 통한 설정 속성)를 사용하여 이를 수행하는 방법

Properties1이 MyProperties 클래스의 @PostContract를 사용하여 설정되어 있는지 확인합니다.그렇지 않으면 다른 속성에 할당할 수 있습니다.

@PostConstruct
    public void init() {
        if(property1==null) {
            property1 = //whatever you want
        }
    }

spring-boot 1.5.10(및 그 이전)에서는 디폴트값 설정이 권장되는 방법으로 기능합니다.예:

@Component
@ConfigurationProperties(prefix = "myprefix")
public class MyProperties {

  @Value("${spring.application.name}")
  protected String appName;
}

@Value사용자 자신의 속성 파일에서 재정의되지 않은 경우에만 기본값이 사용됩니다.

언급URL : https://stackoverflow.com/questions/30882541/spring-boot-set-default-value-to-configurable-properties

반응형