跳至内容
wiki
用户工具
登录
站点工具
工具
显示页面
修订记录
反向链接
最近更改
媒体管理器
网站地图
登录
最近更改
媒体管理器
网站地图
您的足迹:
分享:技术:数据源:spring_mybatis_多数据源配置_2
本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。
====== Spring+Mybatis 多数据源配置_2 ====== ===== 方法描述 ===== 采用spring配置文件配置动态数据源,利于强大的AOP切面,根据service实现类的自定义注解或者指定参数判断,在spring事务管理获取动态数据源之前,设置我们希望连接的数据源,从而灵活配置 ===== 优缺点 ===== - 一套统一配置,通过注解或者入参来灵活判断设置数据源,代码级别判断,配置不需要动,方便可控 - 不仅适合两个数据库没有相关性的情况,而且还适合master-slave性的多数据源的配置 - vo,dao,mapper,service仅需要一套 ===== 碰到的坑 ===== - spring-mvc对controller的扫描路径一定要写到web不能把sevice包含进去,或者指定扫描@Controller注解,否则会把service扫进去,那spring事务管理扫面将不起作用 - 事务管理注解驱动[transaction]一定要配置在AOP切面[transactionPointcut](事务管理获取动态数据源)之前,否则注解会无效 - xml中如果已经配置事务transactionAdvice,service方法上可以不配置注解 - 如果在事务中抛出异常Exception,则会回滚,不需要配置rollback-for="Exception" - AOP切面[dataSourceAspect](动态设置数据源)一定要配置在AOP切面[transactionPointcut](事务管理获取动态数据源)之前,否则先获取完再设置数据源会无效 ===== 暂未解决 ===== 使用自定义注解打在service的方法上,不知道为啥,切面里获取不到注解。但是,换了一种方法,使用入参送入枚举,切面里获取入参判断枚举值来设置数据源,可以搞定! ===== 主要代码 ===== ==== application-context.xml ====
分享/技术/数据源/spring_mybatis_多数据源配置_2.1452579353.txt.gz
· 最后更改: 2016/01/12 14:15 由
gxx
页面工具
显示页面
修订记录
反向链接
回到顶部