开源软件名称:spring-dbutil
开源软件地址:https://gitee.com/hand515/spring-dbutil
开源软件介绍:
#dbutil 说明基于Spring的 AbstractRoutingDataSource 进行简单的封装,方便进行数据源的切换,目前主要用于主从数据库的读写切换上。 使用添加依赖<dependency> <groupId>com.tanghd.spring</groupId> <artifactId>dbutil</artifactId> <version>0.2</version></dependency> 配置xml (spring + mybatis)<bean id="dataSource" ...></bean><bean id="slaveDataSource1" ...></bean><bean id="slaveDataSource2" ...></bean> <bean id="dynamicDataSource" class="com.tanghd.spring.dbutil.datasource.DynamicDataSource"> <property name="master" ref="dataSource"/> <property name="slaves"> <list> <value ref="slaveDataSource1"/> <value ref="slaveDataSource2"/> </list> </property></bean> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dynamicDataSource" /> ...</bean> 代码里使用public void queryXXX(){ DynamicDataSource.useSlave(); try{ ... }finally{ DynamicDataSource.reset(); }} 扩展项可以使用Spring-AOP进行扩展,减少对代码的入侵。目前支持Aspect和Spring-AOP方式。 AspectSpringAOP不使用aspect,这种方式提供了支持@See DataSourceAdvisor.java,目前还没用到,示例略,只是配置上和Aspect不同,使用方式同样是通过注解来进行改变当前使用的数据源以下是参考例子: <bean id="advisor" class="com.tanghd.spring.dbutil.aop.DataSourceAdvisor" /> <aop:config proxy-target-class="true"> <aop:advisor advice-ref="advisor" pointcut="@annotation(com.tanghd.spring.dbutil.aop.DataSourceChange)" /> </aop:config> |
请发表评论