您的配置几乎没有问题:
<property name="dataSource2" ref="dataSource2"/><property name="dataSource3" ref="dataSource3"/>
该 bean的名字 虽然不同,但 属性名称 都没有。您应该将其更改为:
<property name="dataSource" ref="dataSource2"/><property name="dataSource" ref="dataSource3"/>
例如:分别在txManager1和txManager2 bean的setter属性中。
第二:
@Qualifier("dataSource2")并且@Qualifier("dataSource3")是错误的,因为您要限定TX管理器bean,而不是数据源bean。您可以使用
@Resource("dataSource2")和@Resource("dataSource3")代替,也可以使用数据源bean。第三:
@Qualifier("dataSource")。请注意,使用限定符和bean的名称也不会抱怨(注意:它是 dataSource1 )最后,您已定义
tx:annotation-driven。它需要一个bean名称为 transactionManager
的事务管理器。您也没有给出它的bean定义,因此这也将失败。



