2010-06-10 4 views
1

이제 질문이 생깁니다.contextListener - dispatcher 서블릿에서 빈을 공유합니다.

<bean id="catalogFacadeTarget" class="com.bamboo.catW3.business.impl.CatalogFacadeImpl"> 
    <property name="categoryDAO"><ref local="categoryDAOTarget"/></property> 
    <property name="containerDAO"><ref local="containerDAOTarget"/></property> 
    <property name="productDAO"><ref local="productDAOTarget"/></property> 
    <property name="productOptionDAO"><ref local="productOptionDAOTarget"/></property> 
    <property name="productStatusDAO"><ref local="productStatusDAOTarget"/></property> 
    <property name="userDAO"><ref local="userDAOTarget"/></property> 
</bean> 

: 나는 web.xml 파일에서로드 applicationContext.xml에 성공적으로로드 된 콩의 무리,이 : 내가 공유 할 applicationContext.xml에 정의 된 빈은 여기

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>applicationContext.xml</param-value> 
</context-param> 

<listener> 
    <listener-class>com.bamboo.common.factory.Log4JContextListener</listener-class> 
</listener> 

이입니다 hibernet으로 초기화 된 다른 bean (DAOs)을로드합니다.

나는 web.xml 파일에 선언의 DispatcherServlet에서 catalogFacadeTarget을 액세서해야이 같은

<servlet> 
    <servlet-name>dispatcher</servlet-name> 
    <servlet-class> 
     org.springframework.web.servlet.DispatcherServlet 
    </servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>dispatcher</servlet-name> 
    <url-pattern>*.htm</url-pattern> 
</servlet-mapping> 

및 구성 디스패처-servlet.xml에 :이

<bean name="welcome" 
    class="com.bamboo.catW3.business.impl.Welcome"> 
    <property name="successView"> 
     <value>welcome</value> 
    </property> 
    <property name="catalogFacadeImpl"><ref local="catalogFacadeTarget"/></property> 
</bean> 

을! catalogFacadeImpl이라는 속성에서 catalogFacadeTarget 빈이 필요합니다!

전체 applicationContext.xml, web.xml 및 dispatcher-servlet.xml이 필요하면 알려주십시오.

내가 읽은 것부터 contextConfigLocation 구성 파일에서 선언 한 경우 콩을 공유 할 수 있어야합니다.

대단히 감사합니다.

답변

2

로컬 속성은 참조하는 bean이 동일한 컨텍스트 파일에있는 경우에만 사용될 수 있습니다.

해결책은 :

교체

<property name="catalogFacadeImpl"><ref local="catalogFacadeTarget"/></property> 

<property name="catalogFacadeImpl" ref="catalogFacadeTarget" /> 
관련 문제