Spring多数据源的配置(2)

<bean
class="cn.com.dao.impl.demoDaoImpl">
<property ref="sessionFactory"/>
</bean>
<bean
class="cn.com.dao.impl.demoDao1Impl">
<property ref="sessionFactory1"/>
</bean>

2.可以采用代码手动控制

DBContextHolder.setCustomerType(DBContextHolder.masterDataSource);
DBContextHolder.setCustomerType(DBContextHolder.slaveDataSource);

3.可以采用AOP的控制方式

@Aspect 

public class DynamicDataSourceAspect { 

@Pointcut("execution (public service.impl..*.*(..))") 

public void serviceExecution(){} 

@Before("serviceExecution()") 

public void setDynamicDataSource(JoinPoint jp) { 

for(Object o : jp.getArgs()) { 

//处理具体的逻辑 ,根据具体的境况

DBContextHolder.setCustomerType()选取DataSource 

}     

7.总结

通过扩展Spring的AbstractRoutingDataSource可以很好的实现多数据源的rout效果,而且对扩展更多的数据源有良好的伸缩 性,只要增加数据源和修改DynamicDataSource的targetDataSources属性配置就好。

Spring中如何配置Hibernate事务

Struts2整合Spring方法及原理

基于 Spring 设计并实现 RESTful Web Services

Spring-3.2.4 + Quartz-2.2.0集成实例

使用 Spring 进行单元测试

运用Spring注解实现Netty服务器端UDP应用程序

Spring 3.x 企业应用开发实战 PDF完整高清扫描版+源代码

Spring 的详细介绍请点这里
Spring 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/9079c8247a4c692c321dd431006dd96d.html