gpt4 book ai didi

java - Spring ApplicationContext Bean 接线

转载 作者:行者123 更新时间:2023-12-01 19:02:59 25 4
gpt4 key购买 nike

我的项目有两个 ApplicationContext(非常大的项目)。一份带有数据的旧 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>

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

<?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 中的一个或另一个。

关于java - Spring ApplicationContext Bean 接线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11521331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com