ssm多数据源多事物配置

来源:互联网 发布:制造头像软件下载 编辑:程序博客网 时间:2024/06/05 23:40

       最近有个需求是要为项目配置多个数据源,就此看了一下资料,做出了一个Demo,在此分享一下。

       如何添加多个数据源?

       项目的数据源是在spring的配置文件中配置的,同样也是使用spring的事务来管理。数据源配置如下

       

       需要注意的是,跟普通的数据源配置不一样的是:在配置MapperScannerConfigurer的时候,多配置了一个annotationClass属性,这个属性的值是一个自定义的注解。配置这个属性的意义在于,在扫描dao文件夹下面的接口和xml文件的时候,通过识别这个注解来决定使用哪个数据源。换句话说,就是决定使用数据源,只需要在接口文件加一个自定义的注解就可以了。

       

      这个注解的作用只是为了标注这个接口是使用哪个数据源,代码如下

      

      例如:希望指定DemoMapper.xml这个映射文件的数据源,那么只需要在DemoMapper对应的接口文件中添加相应的数据源注解(这里指定的@TestEnvirRepository这个注解对应的数据源)

      

     这样,数据源配置就完成了,需要添加多一个数据源的时候,只需要copy一样数据源配置,然后自定义好相应的注解,并用注解来指定接口的数据源就OK了


     如何为相应的service方法配置相应的事务去处理?

     其实,很简单,只需要在@Transactional注解后面添加属性值就可以了,该属性值的值为DataSourceTransactionManager类的id值

     

     


     参考资料:多数据源案例  多事务配置

原创粉丝点击