springmvc 通过ioc 切换数据源
来源:互联网 发布:沈阳华晨宝马知乎 编辑:程序博客网 时间:2024/05/17 02:00
先说明我们的项目的情况
我们项目,集合了springmvc+mybatis+ehcache+shiro
花了大量的时间去思考,去调试代码。
最终从4种方案中,成功了两个
解决,数据源切换问题,从而导致的ehcache,虚拟表不匹配问题,从而导致shiro。Session。Token,不匹配导致的死循环。
目标
第一种是
最简单,分叉,跳过上述技术,用原生态的方法,直接连接mysql,并得到数据。这样子,仅仅只适合验证一下用户名与密码。
因为要求,这种方案在后来被放弃了。
跳过第二第三种。
第四种方法---取得datasource对象,修改属性。。。。
我们的目标就是切换数据源。
其实也简单。基于,对整体框架的认识。
@Intercepts({ @Signature(type = StatementHandler.class, method = "prepare", args = { Connection.class }) })public class PagePlugin implements Interceptor {
这框架,用的是@Intercepts,拦截器,然后注入。然后重写intercept方法,上面的注释里面的对象,又写入了invoke对象
connection对象保存在spring-application.xml,里面的datasource里面是写死。
通过调试,发现了,读取的不是文件,而是内存。
提出第四种方案。
问题是得到datasource对象。
自己写了个类,继承了DriverManagerDataSource
http://brothergrup.iteye.com/blog/1543463
感谢博主,提供方法,得到spring ioc 的对象的方案
public class JDBCTest extends DriverManagerDataSource{public void changeJDBC(String url,String username,String password) {setUrl(url);setUsername(username);setPassword(password);}}
<bean id="dataSource" class="junit.test.JDBCTest"><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" /><property name="driverClassName" value="${jdbc.driverClass}" /></bean><!-- lpl 自定义注册 --><bean id="springfactory" class="com.framework.util.SpringFactory"></bean> <bean id="pagePlugin" class="com.framework.plugin.PagePlugin"><property name="properties"><props><prop key="dialect">mysql</prop><prop key="pageSqlId">.*query.*</prop></props></property></bean><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
0 0
- springmvc 通过ioc 切换数据源
- SpringMVC通过拦截URL控制Mybatis切换数据源
- springmvc动态切换数据源
- springmvc mysql 动态切换数据源
- ssm中使用两个数据库,通过注解方式切换数据源
- SpringMVC 使用jndi 多个数据源且利用AbstractRoutingDataSource实现动态数据源切换
- 学习SpringMVC(二十一)之通过超链接切换Locale
- 数据源切换异常 导致数据源切换失败
- Spring动态切换数据源
- 动态切换数据源
- AbstractRoutingDataSource实现数据源切换
- 动态数据源切换
- spring 动态数据源切换
- AbstractRoutingDataSource动态切换数据源
- hibernate 动态切换数据源
- repo 切换sync数据源
- spring动态切换数据源
- spring切换数据源
- DB2 create table报错-104 42601 SQL语句中遇到非法符号
- 音视频基础概念与流程 - 录制流程
- 2016 我的编程之路(上)
- 详细讲解 centOS下 Redis安装及配置
- koa框架数据导出为excel格式
- springmvc 通过ioc 切换数据源
- 设计模式——策略模式
- (数据类型-Number特殊数值)JavaScript权威指南笔记4.4
- Codeforces Round #360 (Div. 2) E The Values You Can Make(DP)
- 剑指offer(二.2)数据结构之数组2 面试题3
- EventBus源码分析(一):入口函数提纲挈领(2.4版本)
- OpenCV Error:Assertion failed ...
- 关于动态加载select
- anroid获取图像缩略图