스프링 4.3.0을 사용하는 라이브러리를 생성 중입니다. 스프링 부트 애플리케이션의 하나가이 라이브러리를 소비합니다. 현재 @ComponentScan 봄 부팅 응용 프로그램의 기본 클래스 대신 라이브러리 안의 빈을 검색하려면 사용하고 있습니다. 자동 구성하려면 원하는. 그래서 내가 라이브러리 내부의 구성 클래스를 만들고 구성에서 @ComponentScan 선언했습니다. 파일.스프링 부트 애플리케이션에 자동 구성 스프링 라이브러리 생성
봄 부팅 응용 프로그램에서 라이브러리를 소모 한 후에는
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.sample.book.client.service.BookService] found for dependency [com.sample.book.client.service.BookService]: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1406)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1057)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1019)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:566)
... 33 common frames omitted
방법이 오류를 해결하기 위해, 라이브러리 내부의 콩을 스캔하고 발생되지 않는 이유는 무엇입니까? @Configuration 전에 @service 클래스를 검사하는 이유는 무엇입니까?
도움이 필요하며 필요한 경우 코드 샘플을 제공해 드리겠습니다.
어떻게 다음과 같은 "org.springframework.boot.autoconfigure.EnableAutoConfiguration"가져 오기와 함께 자동 구성을 지정할 수 있습니까? "EnableAutoConfiguration"은 스프링 부트에 의해 제공됩니다. 스프링이 잘못 되었으면 수정하십시오. – VelNaga
앱이 allready @ SpringBootApplication이면 자동 구성이 활성화됩니다. 그런 다음 META-INF/spring-factories를 라이브러리 JAR에 넣거나 라이브러리 구성을 가져올 수 있습니다. –
작동합니다. 감사합니다. 나는 META-INF/spring.factories 메서드를 따르고 매력적으로 작동하지만 @Import를 정의 해 주시겠습니까? 아니면 "@Import"에 대한 링크를 공유 할 수 있습니까? – VelNaga