源码学习
胸口碎大石_
喜欢技术 热爱折腾. 目前专注于大型分布式系统架构设计cache等方案 欢迎技术交流
展开
-
ibatis源码浅析- 初探
ibatis核心类 SqlMapExecutor:定义了数据库curd操作api SqlMapTransactionManager : 主要定义了事务管理功能 SqlMapClient:继承SqlMapExecutor, SqlMapTransactionManager接口 也就具有curd操作 事务管理行为 SqlMapSession: 它有S原创 2012-06-10 10:53:48 · 6674 阅读 · 2 评论 -
Hessian源码浅析-HessianSkeleton
Hessian服务端核心对象HessianSkeleton 主要做两件事 1.把客户端请求的流反序列化 得到 对应的方法名称 参数2. 服务类(service)对应方法执行完成 把结果序列化到输出流hessian服务端暴露服务是通过HessianServlet public class HessianServlet extends GenericServlet {}Hes原创 2012-05-11 17:19:33 · 3846 阅读 · 0 评论 -
Struts2源码浅析-ResultType
Result接口定义public interface Result extends Serializable { public void execute(ActionInvocation invocation) throws Exception;}常用Result类图 <result-type name="chain" class="com.opensympho原创 2012-05-19 22:51:42 · 2106 阅读 · 0 评论 -
Struts2源码浅析-ConfigurationProvider
ConfigurationProvider接口 主要完成struts配置文件 加载 注册过程ConfigurationProvider接口定义public interface ConfigurationProvider extends ContainerProvider, PackageProvider {}ContainerProvider接口定义/** * 容器加载 注册原创 2012-05-16 23:59:56 · 4395 阅读 · 2 评论 -
Spring aware相关接口 浅析
spring中 有一大堆Aware结尾接口, 例如BeanFactoryAware, ApplicationContextAware, ServletContextAware等 在程序中 我们自定义的bean实现了 Aware相关接口 spring 通过回调 就可以获得一些资源 比如说 我们的bean实现BeanFactoryAware spring会在bean实例化(g原创 2012-03-21 15:52:53 · 13257 阅读 · 1 评论 -
ibatis源码浅析- 事务
ibatis默认提供四种事务 transaction 类图 ExternalTransactionConfig :commit rollbak方法都是个空实现 spring默认使用的这个 UserProvidedTransaction :支持外部Connection 可以和jdbc混合使用 JdbcTransaction :原生jdbc事务 JtaT原创 2012-06-12 16:58:54 · 4775 阅读 · 0 评论 -
Struts2源码浅析-Container
Container容器接口定义public interface Container extends Serializable { /** * Default dependency name. */ String DEFAULT_NAME = "default"; /** * 对当前对象 执行依赖注入 * 引用了@Inject注解的 方法 字段 构造器 参原创 2012-05-16 18:21:24 · 2860 阅读 · 0 评论 -
Hessian源码浅析-HessianProxy
Hessian客户端主要是通过proxy代理来实现 当客户端调用远程接口方法时 会被HessianProxy 代理 HessianProxy invoke方法主要做以下工作1.把调用的 方法名称 参数 序列化2.通过HttpURLConnection向服务端发送调用请求3.服务端返回的结果 反序列化Proxy是由HessianProxyFactory创建HessianProx原创 2012-05-12 21:56:04 · 11358 阅读 · 4 评论 -
Struts2源码浅析-请求处理
StrutsPrepareAndExecuteFilter doFilter方法为请求的入口doFilter方法主要做以下几件事一: 根据配置的常量 设置当前request 字符编码 response国际化Locale信息二: 创建ActionContext数据对象三: 请求处理 1.分析url 根据url 创建ActionMapping对象 这些操原创 2012-05-17 23:25:00 · 8679 阅读 · 10 评论 -
Struts2源码浅析-初始化
StrutsPrepareAndExecuteFilter实现了Filter接口 init方法为初始化入口StrutsPrepareAndExecuteFilter init方法 public void init(FilterConfig filterConfig) throws ServletException { //初始化辅助类 类似一个Delegate原创 2012-05-16 18:19:39 · 6395 阅读 · 3 评论 -
Spring RMI 源码浅析-RmiServiceExporter 导出服务
Java Rmi 1.接口必须继承java.rmi.Remote接口2.方法必须抛出java.rmi.RemoteException异常Spring Rmi1.可以不实现java.rmi.Remote接口 2.方法可以不抛出异常 问题:在Spring 内部是怎么实现的?在Spring中 是通过org.springframework.remoting.rmi.Rmi原创 2012-03-29 17:25:39 · 7349 阅读 · 2 评论 -
Spring RMI 源码浅析-RmiProxyFactoryBean 调用服务
spring Rmi 客户端是通过 RmiProxyFactoryBean 和它的父类来完成 查找远程对象 生成代理对象 方法调用 RmiProxyFactoryBean 定义public class RmiProxyFactoryBean extends RmiClientInterceptor implements FactoryBean, BeanClassLoaderAware原创 2012-03-31 15:27:03 · 7736 阅读 · 0 评论 -
Spring FactoryBean源码浅析
在Spring BeanFactory容器中管理两种bean 1.标准Java Bean 2,另一种是工厂Bean, 即实现了FactoryBean接口的bean 它不是一个简单的Bean 而是一个生产或修饰对象生成的工厂Bean在向Spring容器获得bean时 对于标准的java Bean 返回的是类自身的实例 而FactoryBean 其返回的对象不一定是自身原创 2012-03-30 14:39:48 · 17152 阅读 · 1 评论 -
Mysql jdbc driver源码浅析(一)
jdbc操作实例代码 //1. 加载驱动 Class.forName("com.mysql.jdbc.Driver"); //2. 获取连接 Connection connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/dbName", "userName", "password"); Statemen原创 2012-06-28 15:09:02 · 3341 阅读 · 1 评论 -
ibatis源码浅析- 初始化
以SqlMapClientBuilder类的buildSqlMapClient方法为初始化入口初始化过程 主要包括 1. 初始化全局配置(sqlMapConfig文件) 事务 DataSource等2.sqlMap 文件初始化 类图 全局配置初始化时序图 以SqlMapConfigParser为核心主干 解析SqlMapConfig文件 解析后的值保存的到X原创 2012-06-10 21:58:47 · 2871 阅读 · 0 评论