springmvc 通过ioc 切换数据源 |
您所在的位置:网站首页 › driverclass是什么意思 › springmvc 通过ioc 切换数据源 |
先说明我们的项目的情况 我们项目,集合了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); } } mysql .*query.* 上一篇: laravel深入-IOC容器、一次请求过程、中间件 下一篇: IoC(控制反转) 和DI(依赖注入) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |