it-source

이네이블화 방법자동구성 스프링 주석 작업?

criticalcode 2023. 4. 1. 09:34
반응형

이네이블화 방법자동구성 스프링 주석 작업?

난 추상화보다 역겨운 걸 좋아하지 않아 그리고 스프링이 큰 중죄를 저질렀다고 생각해

그러나 만약 누군가가 'auto' 설정의 이면에 있는 알고리즘을 설명할 수 있다면 이번에는 간과할 수 있습니다.

봄의 자바독을 보면 컨디셔닝 콩에 대해 무엇을 해야 하는지 지능적으로 추측할 수 있다는 것 외에는 별로 알리지 않는다.

로딩해야 할 것을 결정하기 위해 어떤 알고리즘이 사용되는지 아는 사람이 있습니까?

Spring Boot 사용자로서의 제 경험상 Spring Boot에서 활성화되는 자동 구성을 결정하는 기본 요소는 다음과 같습니다.

1) classpath에 존재하는 클래스.예를 들어 RabbitMQ 및 Spring AMQP 클래스가 있는 경우RabbitAutoConfiguration유효하게 됩니다.대응하는 주석은 다음과 같습니다.@ConditionalOnClass,

2) 사용자 정의 콩의 유무예를 들어 모든 Spring Data JPA가 클래스 패스에 존재하는 경우 Spring Boot에 의해LocalContainerEntityManagerFactoryBean사용자가 아직 입력하지 않은 경우에만 bean을 입력합니다.사용자가 등록한 콩은 기본 콩을 덮어씁니다.관련 주석은 다음과 같습니다.@ConditionalOnMissingBean

@DaveSyer가 언급했듯이 Spring Boot은 물론 필요 없습니다.@EnableAutoConfiguration직접 관련 구성을 포함하려면 이 옵션을 선택합니다.또는 보다 덜 과감한 솔루션을 사용할 수도 있습니다.exclude의 분야@EnableAutoConfiguration예를 들어 ActiveMQ를 제외한 모든 것을 Spring Boot에서 자동 설정하도록 하려면@EnableAutoConfiguration(exclude=ActiveMQAutoConfiguration.class)

내 생각에, 여기엔 절대 중죄가 없어!스프링 부트에서 원하는 것을 사용할 수 있습니다.당신이 그것이 제공해야 하는 것을 원하지 않을 때, 당신은 쉽게 부분 또는 전체를 선택할 수 있습니다!

또한 커버 아래를 보고 싶다면 속성을 추가할 수 있습니다.

logging.level.org.springframework.boot=DEBUG

로.application.propertiesSpring Boot에서는 자동 설정 내용과 자동 설정되지 않은 내용에 대한 자세한 보고서를 제공합니다.

「Spring Boot Reference Guide(스프링 부트 레퍼런스 가이드)」에 몇개의 메뉴얼이 있습니다.너무 복잡하지도 않고, 그냥 한 무더기만 포함시키는 게 중죄라고 생각하진 않아요.@Configuration(그게 전부이기 때문에) 어쨌든 네가 썼을지도 몰라.사용하지 않으셔도 됩니다.@EnableAutoConfiguration개개의 설정을 개별적으로 포함할 필요가 있는 경우.

언급URL : https://stackoverflow.com/questions/24351581/how-does-the-enableautoconfiguration-spring-annotation-work

반응형