Jade 源码阅读
来源:互联网 发布:红楼梦贾迎春知乎 编辑:程序博客网 时间:2024/06/01 07:47
1 Jade入口
在写Jade代码的时候只是写了一个接口,在使用Jade Dao的时候只是写了个spring注入。那么Jade是如何开始它的工作的呢?
Jade调用:
@Autowiredprivate Qixi11DAO qixiDAO;// 注入Dao...qixiDAO.invite(player)// 调用接口...
Jade接口的编写:
@DAO(catalog = "data_source")public interface Qixi11DAO {...@SQL("insert into `qixi_11`(`id`,`to_uid`,`status`,`score`,`favorer_id`,`bridge_flag`,`lightning`)values(:1.id,:1.toUid,:1.status,:1.score,:1.favorerId,:1.bridgeFlag,:1.lightning)ON DUPLICATE KEY UPDATE `status`=:1.status,`score`=:1.score,`favorer_id`=:1.favorerId,`bridge_flag`=:1.bridgeFlag") public void invite(Qixi11Player qixiPlayer)throws Exception;// Dao接口...它是通过spring Ioc的初始化,触发Jade事件。
Jade的入口类JadeDaoProcessor,正是通过实现spring的接口BeanFactoryPostProcessor接口,将Jade接口转换成普通类,并注入到Spring Ioc容器中。而JadeDaoProcessor自己则通过将自己在XML中注册进入Spring容器中。
2 Jade的运行过程
3 Jade扫描java类文件
Jade扫描java类文件,分为扫描class文件,以及扫描Jar包。
Jade使用spring提供的类路径扫描工具扫描类。
Enumeration<URL> founds = resourcePatternResolver.getClassLoader().getResources("");
4 Jade注册Jade类到spring容器中
5 Jade获取中间层提供的连接
由于数据库那边经常会对数据库进行优化,比如主库从库处理。所有,应用层这边不可能根据host port username password来获取数据库连接。应用层需要通过数据源来获取连接。中间层提供了这样的服务,来获取连接。
conn = XceAdapter.getInstance().getWriteConnection(bizName, pattern);// 获取主库连接,即写连接 conn = XceAdapter.getInstance().getReadConnection(bizName, pattern);// 获取从库连接,即读连接
由于,每一个数据访问线程,有不同的数据库访问形式,读或者写。jade通过ThreadLocal来保存每个数据库访问线程是读还是写。获取数据源的关键代码在XnDataSource中。公司的ibatis也是通过这种方式获取数据源的。
- Jade 源码阅读
- jade
- 阅读源码
- 阅读源码
- 阅读源码
- 源码阅读
- JUnit源码阅读 -- 阅读基础
- 源码阅读系列:为什么要阅读源码?
- 源码阅读系列:源码阅读方法
- [java][源码分析]paoding-rose-jade框架源码分析(1)
- [java][源码分析]paoding-rose-jade框架源码分析(2)
- 阅读贪吃蛇源码
- 阅读贪吃蛇源码
- 阅读贪吃蛇源码
- 阅读贪吃蛇源码
- 如何阅读Linux源码
- DotText源码阅读(0)
- 阅读prototype源码
- Spring3.0 mvc --@RequestParam/@PathVariable区别
- Shader学习笔记,通过GLSL实现 (转载)
- 内核态进程管理器Intercessor和实现细节
- 解决企业管理器开启报错:MMC 不能打开文件的问题
- 先进的框架Spring(2)
- Jade 源码阅读
- Eclipse连接MySQL数据库
- 嗯,老师让我们写一个xml在线编辑器
- 使用popen()函数获取其他Console中的内容
- 先进的框架Spring(3)
- JAVA泛型
- Linux EXPORT_SYMBOL
- mysql 几点优化
- 使用BusyBox制作Linux根文件系统