복붙노트

[SPRING] 봄과 XML 및 자바 구성을 혼합

SPRING

봄과 XML 및 자바 구성을 혼합

나는 XML보다는 자바 설정을 통해 스프링을 설정하는 새로운 어플리케이션을 만들고있다. 이 응용 프로그램은 xml 스타일 구성을 사용하는 모듈에 종속됩니다. 앱을 시작하려고 할 때 다음과 같은 오류가 발생합니다.

No qualifying bean of type [com.myModule.myServiceImp] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

이 bean은 모듈의 applicationContext.xml에 선언되어야합니다. 이것을 처리하는 적절한 방법은 무엇입니까? 응용 프로그램의 web.xml에서 응용 프로그램 컨텍스트를 함께 끈 경우 간단히 추가하려고했습니다.

<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath:com/myModule/appbase-context.xml
            com.myApp.AppConfig
        </param-value>
    </context-param>

하지만 여전히 같은 오류가 있습니다. 이 작업을 수행하는 적절한 방법은 무엇입니까?

해결법

  1. ==============================

    1.구성 클래스에서 @ImportResource 주석을 통해 xml 구성을 가져올 수 있습니다.

    구성 클래스에서 @ImportResource 주석을 통해 xml 구성을 가져올 수 있습니다.

    이 같은:

    @Configuration
    @ImportResource({"classpath:appbase-context.xml"})
    public class AppConfig {
        // @Bean definitions here...
    }
    

    Spring의 Java Configuration을 사용할 때 애플리케이션 컨텍스트에 사용할 클래스를 명시하는 추가적인 context-param을 지정해야한다는 것을 기억하자.

    <context-param>
        <param-name>contextClass</param-name>
        <param-value>
            org.springframework.web.context.support.AnnotationConfigWebApplicationContext
        </param-value>
    </context-param>
    
  2. from https://stackoverflow.com/questions/19365366/mixing-xml-and-java-config-with-spring by cc-by-sa and MIT license