spring에서 특정 프로퍼티가 없으면 빈이 등록되지 않는 어노테이션 - @ConditionalOnProperty
IT/JAVA
2023. 5. 8. 11:53
728x90
스프링에서는 특정 property가 없으면 제외할 수 bean lifecycle에서 제외할수 있는 어노테이션을 제공한다.
다음과 같이 특정 이메일이 존재할때만 빈을 등록할 코드를 작성합니다.
@ConditionalOnProperty(name = "specific.email.value", matchIfMissing = false)
@Component
public class TokenSpecificEmailProvider {
}
아래는 속성에 대한 설명은 아래와 같습니다.
name
필수 속성으로, 확인할 프로퍼티의 이름을 지정합니다. 여러 개의 이름을 배열로 지정할 수도 있습니다.
havingValue
프로퍼티의 값과 일치해야 하는 값을 지정합니다. 기본값은 빈 문자열("")입니다. 이 속성은 선택적으로 사용할 수 있으며, 사용하지 않을 경우 프로퍼티의 값이 비어있지 않은 경우를 의미합니다.
matchIfMissing
기본값은 false이며, 프로퍼티가 존재하지 않을 때 빈이 생성되지 않도록 합니다.
true로 설정하면 프로퍼티가 존재하지 않아도 빈이 생성됩니다.
prefix
프로퍼티의 접두사(prefix)를 지정합니다. 접두사를 사용하면 프로퍼티의 이름을 더 유연하게 조합하여 확인할 수 있습니다.
예를 들어, prefix = "myapp.feature"로 설정하고 name = "enabled"라고 지정하면 myapp.feature.enabled라는 프로퍼티가 존재하는지 확인합니다.
value
name과 동일한 역할을 합니다. value 속성을 사용할 경우 name 속성을 생략할 수 있습니다.
'IT > JAVA' 카테고리의 다른 글
파이썬 jupyterlab command 설명 및 실행 (0) | 2023.08.23 |
---|---|
파이썬 GPU CUDA Torch를 이용한 확인 (0) | 2023.08.23 |
디자인 패턴 : 팩토리 메서드(Factory Method) 에서 대해서 알아보자. (0) | 2023.04.19 |
자바 리스트(ArrayList)와 배열(Array)의 차이점 3가지 (0) | 2018.06.05 |
자바 Map<String,String>을 다른 Map 키값으로 사용한다면 (0) | 2018.05.30 |