SpringBoot @ConfigurationProperties 메모의 간단한 사용

원본 코드


@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ConfigurationProperties {
    @AliasFor("prefix")
    String value() default "";

    @AliasFor("value")
    String prefix() default "";

    boolean ignoreInvalidFields() default false;

    boolean ignoreUnknownFields() default true;
}

활용단어참조


다음과 같은 경우 구성 파일의 접두사 이름을 메모에 전달합니다.

myConfigs:
  config1:
    field1: f1
    field2: f2
    field3: f3
그러면 코드의 구성 클래스는 다음과 같이 써야 합니다.

@Component
@ConfigurationProperties("myConfigs.config1")
public class MyConfig1 {
    String field1;
    String field2;
    String field3;
}
위에서 보듯이field1,field2,field3 세 가지 속성은 대상에 귀속됩니다.
@Component를 사용했습니다. 실제로 설정 클래스를 사용하면 다른 클래스에 주입하기 때문에 빈으로 등록하는 경우가 많습니다.
ignore InvalidFields는 기본적으로false이고 비합법적인 속성의 속성은 기본적으로 이상을 던집니다.
ignoreUnknownFields는 기본값true로 인식되지 않은 속성은 무시됩니다. (이름을 잘못 치면 무시됩니다.)

@ConfigurationProperties(prefix="config.prefix", ignoreInvalidFields=true, ignoreUnknownFields=false)
public class MyConfig {
    // fields
}
Spring Boot의 바인딩 규칙이 상당히 느슨합니다. myField, my-field, my_field 등은 myField에 연결된 것을 식별할 수 있다.
필드에 기본값을 설정할 수 있습니다. 이 설정은 불러오지 않을 때 기본값을 사용합니다.

@ConfigurationProperties("your.prefix")
public class YourConfig {
    private String field = "Default"
    // setter
}
클래스의 필드는public 접근 권한의setter 방법이 있어야 합니다.
많은 경우public의 setter 방법을 사용할 때 필수적입니다. IDEA를 사용하면 Alt+Insert(Windows, Mac은 Alt+n)로 생성하는 것을 추천합니다.물론 Lombok을 사용하고 싶어도 됩니다.
다음은 SpringBoot @ConfigurationProperties 주해의 간단한 사용에 대한 상세한 내용입니다. SpringBoot @ConfigurationProperties 주해에 대한 더 많은 자료는 저희의 다른 관련 글을 주목해 주십시오!

좋은 웹페이지 즐겨찾기