0

我有一个导入 2 个罐子的网络应用程序。

两个 jar 都使用 MyBatis 和 Spring

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="configLocation" value="classpath:persistence/ormConfig-content-repository.xml" />  
    <property name="mapperLocations" value="classpath*:persistence/content-repository-mapper/*.xml" /> 
</bean>

在这两种情况下,我都使用使用 sqlSessionFactory 的 SqlSessionDaoSupport

部署应用程序时出现问题

网页.xml:

<context-param>
<description>Spring config file</description>
<param-name>contextConfigLocation</param-name>
<param-value>
    classpath:jar1_conf.xml,
    classpath:jar2_conf.xml
</param-value>

基本上,第二个 jar 中定义的 sqlSessionFactory bean 覆盖了第一个 jar 中定义的那个。

我能做些什么?请帮忙

4

1 回答 1

0

对您没有帮助的简单答案是 Spring 的行为。您基本上是在创建一个 ApplicationContext 并加载两个具有相同名称的 bean,因此一个会覆盖另一个。解决方案是为您的应用创建多个 ApplicationContext。

于 2013-03-26T14:39:22.630 回答