2012-07-17 7 views
0

내 프로젝트 (매우 큰 프로젝트)에 두 개의 ApplicationContext가 있습니다.스프링 ApplicationContext 빈 - 배선

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> 
<beans default-autowire="autodetect"> 
</beans> 

가 지금은 모듈 중 어느 것도

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> 

<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" 
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> 


<bean id="positionResponsesDAO" 
    class="com.xxx.modules.worklist.DAO.Impl.PositionResponsesDAOImpl"> 
    <property name="dataSource" ref="dataSource" /> 
</bean> 

<bean id="positionDAO" 
    class="com.xxx..modules.worklist.DAO.Impl.PositionDAOImpl"> 
    <property name="dataSource" ref="dataSource" /> 
</bean> 

<bean id="nextActionDAO" 
    class="com.xxx..modules.worklist.DAO.Impl.NextActionDAOImpl"> 
    <property name="dataSource" ref="dataSource" /> 
</bean> 
    <bean> 
     ....... few more 
    </bean> 

    <bean id="workOrderManager" class="com.xxx.modules.worklist.action.manager.impl.WorkOrderManagerImpl"> 
    <property name="positionDO" ref="positionDO" /> 
    <property name="moveWorkOrderDO" ref="moveWorkOrderDO" /> 
    <property name="nextActionDO" ref="nextActionDO" /> 
    <property name="positionDAO" ref="positionDAO" /> 
    <property name="moveResponsesDAO" ref="moveResponsesDAO" /> 
    <property name="moveWorkOrderDAO" ref="moveWorkOrderDAO" /> 
    <property name="nextActionDAO" ref="nextActionDAO" /> 
    <property name="positionResponsesDAO" ref="positionResponsesDAO" /> 
</bean> 


<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" 
    destroy-method="close"> 
    <property name="driverClass" value="oracle.jdbc.driver.OracleDriver" /> 
    <property name="jdbcUrl" value="driverUrl" /> 
    <property name="user" value="MCMGR" /> 
    <property name="password" value="MC123" /> 
</bean> 
    </beans> 

영향없는 것을 첫 번째는 오토을 가지고 있도록 또는 다른 방법으로 내 다른 프로젝트 applicatinContext를 추가 할 필요가 데이터 한 오래 된 XML 배선이 가능하며 수동 배선이 필요합니다. 어떻게 둘을 결합하여 하나의 XML에 넣거나 두 개의 구성을 읽을 수 있습니까?

답변

3

두 개 이상의 응용 프로그램 컨텍스트 파일을 읽는 것이 왜 어려운지 알 수 없습니다. 일반적인 봄 이디엄은 레이어에 따라 구성을 분할하는 것입니다. 필자는 일반적으로 지속성, 서비스, 웹 등의 구성을 가지고 있습니다. 웹 응용 프로그램 인 경우 ContextLoaderListener을 사용하여 모든 요소를 ​​추가합니다. 필요한만큼 많은 구성 파일을 지정할 수 있습니다.

거대한 구성 파일은 모든 거대한 클래스 하나를 내려다 보는 것처럼 동일한 방식으로 간주됩니다. 분해는 컴퓨터 과학의 기초입니다. 구성을 분할하는 것이 좋습니다.

어노테이션 기반 및 XML 기반 구성을 함께 사용하는 것은 문제가되지 않습니다.

두 구성이 겹치는 경우에만 문제가 발생합니다. 충돌 한 콩에 대해 하나 또는 둘 다를 제거해야합니다.

+0

성공하지 않으려 고 시도했습니다. ( – Reddy

+0

"성공하지 못함"이 어떻게 생겼는지 모릅니다. – duffymo