Java Spring应用程序上下文bean布线

Java Spring应用程序上下文bean布线,java,spring,Java,Spring,我有两个ApplicationContexts用于我的项目(非常大的项目)。 一个包含数据的旧xml <?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">

我有两个ApplicationContexts用于我的项目(非常大的项目)。 一个包含数据的旧xml

<?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>

现在,我需要将我的其他项目ApplicationContext添加到其中或以任何其他方式添加到其中,这样就不会影响任何模块

<?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>

....... 再多一点

第一个已启用自动布线,而这一个已启用并需要手动布线。如何将它们组合成一个xml或读取两个配置。

您可以使用
标记。请参见您可以使用
标记。请参见

我不明白为什么读取两个或多个应用程序上下文文件很困难。通常的Spring习惯用法是根据层划分配置。我通常会配置持久性、服务、web等。如果是web应用程序,我只需使用
ContextLoaderListener
将它们全部添加到中。您可以根据需要指定任意数量的配置文件

我会把一个巨大的配置文件看作是一种责任,就像我看不起一个巨大的班级一样。分解是计算机科学的基础。我建议对您的配置进行分区

混合使用基于注释和基于XML的配置也不是问题


只有在两种配置重叠时,才会出现问题。对于冲突的bean,您必须删除其中一个。

我不明白为什么读取两个或多个应用程序上下文文件很困难。通常的Spring习惯用法是根据层划分配置。我通常会配置持久性、服务、web等。如果是web应用程序,我只需使用
ContextLoaderListener
将它们全部添加到中。您可以根据需要指定任意数量的配置文件

我会把一个巨大的配置文件看作是一种责任,就像我看不起一个巨大的班级一样。分解是计算机科学的基础。我建议对您的配置进行分区

混合使用基于注释和基于XML的配置也不是问题

只有在两种配置重叠时,才会出现问题。对于冲突的bean,您必须删除其中一个。

我不知道“未成功”是什么样子。我不知道“未成功”是什么样子。