spring-application-context.xml에서 bean 정의를 읽으려는 경우 web.xml 파일에서이 작업을 수행합니다. 경우spring-application-context.xml과 AnnotationConfigWebApplicationContext를 봄 mvc에서 읽는 방법
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
내가 자바 구성 클래스 (AnnotationConfigWebApplicationContext)를 통해 빈 정의를 읽고 싶어, 나는 내 응용 프로그램에서 모두 사용하려면 어떻게
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextClass</param-name>
<param-value>
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
</param-value>
</init-param>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
org.package.MyConfigAnnotatedClass
</param-value>
</init-param>
</servlet>
web.xml을
에서이 작업을 수행 할 것입니다. 구성 xml 파일과 주석이 달린 클래스에서 콩을 읽는 것과 같습니다.우리가 AppConfigAnnotatedClass를 사용하여 나머지 빈을 인스턴스화/사용하는 동안 xml 파일에서 스프링 빈을로드하는 방법이 있습니까?
이 didnt 한 작업
XML 파일은
@ImportResource(value = {"classpath:some-other-context.xml"})
@Configuration
public class MyConfigAnnotatedClass {
@Inject
MyBean mybean;
}
로
<bean name="mybean" class="org.somepackage.MyBean"/>
자바 클래스 수입 자원으로 빈을 정의하지만에서 myBean 값은 항상 호출 할 때 NullPointerException이 당연히 줄 것이다 null의 경우 mybean의 메소드.
@Suvasis XML이 주석에 올바르게 표시되지 않을 수 있습니다. 질문을 편집하여 코드로 추가하십시오. –
나는 시도했지만 시도하지 못한 것을 보여주는 내 질문을 편집했습니다. @Configuration 클래스에서 bean을 어떻게 가져 왔는지 말해 줄 수 있습니까? 또는 xml 파일을 어디에 두었습니까? – Suvasis
@Suvasis'MyConfigAnnotatedClass'가'contextConfigLocation' 매개 변수로 지정한 클래스라면, 가지고있는 것은 작동해야합니다. 이'xml' 파일은'ContextLoaderListener'에 의해로드 된 파일과 분리되어 있어야합니다. –