@ConditionalOnProperty 주석의 목적은 무엇입니까?
방금 스프링 부트 구성을 변경했는데
@ConditionalOnProperty(prefix = "spring.social.", value = "auto-connection-views")
부터org.springframework.boot.autoconfigure.social.TwitterAutoConfiguration
@Bean(name = { "connect/twitterConnect", "connect/twitterConnected" })
@ConditionalOnProperty(prefix = "spring.social.", value = "auto-connection-views")
public View twitterConnectView() {
return new GenericConnectionStatusView("twitter", "Twitter");
}
나는 이 주석의 목적을 모르겠다.속성 값이 존재하는 경우에만 콩을 사용하도록 설정할 수 있습니다(예: "spring").social", "자동접속 삭제")
주석은 속성 구성에 따라 조건부로 스프링빈을 작성하는 데 사용됩니다.질문에서 보여드린 사용법에서 빈은 다음 경우에만 생성됩니다.spring.social.auto-connection-views
속성이 존재하며 다음 값이 있습니다.false
이 말은, 이걸 위해서View
생성할 콩을 설정할 필요가 있습니다.spring.social.auto-connection-views
false 이외의 값을 가져야 합니다.
이 주석의 다른 용도는 스프링 부트코드 베이스 전체에서 많이 볼 수 있습니다.또 다른 예는 다음과 같습니다.
@ConditionalOnProperty(prefix = "spring.rabbitmq", name = "dynamic", matchIfMissing = true)
public AmqpAdmin amqpAdmin(CachingConnectionFactory connectionFactory) {
return new RabbitAdmin(connectionFactory);
}
의 사용에 주의해 주세요.matchIfMissing
이 경우,AmqpAdmin
bean이 생성됩니다.spring.rabbitmq.dynamic
속성이 존재하며 다음 값이 있습니다.false
아니면 아예 존재하지도 않을 겁니다이것에 의해, 옵트인이라고 하는 질문의 예가 아니고, 빈의 작성이 옵트 아웃이 됩니다.
이 속성을 TYPE 레벨, 즉 @Configuration 클래스 중 하나에서 사용하는 경우...이 경우 주석은 기본 속성 파일에 대해 평가/체크됩니다.application.properties
@Conditional OnProperty (@Configuration을 사용하는 TYPE 레벨)
오히려 그 반대입니다.환경(개발, 승인, 생산)에 속성이 설정되어 있고, 이 방법에 의한 참값일 경우, 이 방법을 실시하기 위한 전제조건을 실행할 수 있다.
환경 주석에서 속성이 설정되지 않은 경우 메서드의 실행을 막지 않습니다.
언급URL : https://stackoverflow.com/questions/26394778/what-is-purpose-of-conditionalonproperty-annotation
'source' 카테고리의 다른 글
왜 useRef가 필요하고 변수는 변경할 수 없는가? (0) | 2023.02.16 |
---|---|
React.js: jsx를 JavaScript에서 분리하는 방법 (0) | 2023.02.16 |
h2에 착신하는 screen_reader_text를_posts_pagination에서 삭제하려면 (0) | 2023.02.12 |
포스 앵귤러컨트롤러를 로드하기 전에 데이터를 반환하는 JS 서비스 (0) | 2023.02.12 |
페이지를 새로고침하지 않고 브라우저 주소 표시줄을 변경하는 방법 - HTML/Javascript (0) | 2023.02.12 |