01 2019 档案

摘要:适配器模式的定义:将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够一起工作。 图解: A、B两个图框代表已经塑模成型的物体A和物体B,现在要求把A和B安装在一起使用,如何安装?两者的接口不一致,是不可能安装在一起使用的,那怎么办?引入一个物体C,如下: 阅读全文
posted @ 2019-01-31 10:27 ^^ITBOY^^ 阅读(195) 评论(0) 推荐(0) 编辑
摘要:单一职责原则(Single Responsibility Principle),简称SRP。 定义:一个类只负责一件事情; 说明:类的单一职责原则受多重因素制约,实际实现起来,需要考虑项目工期、成本、人员技术水平等 使用:接口一定要做到单一职责原则,类的设计尽量做到单一职责原则 扩展:单一职责原则同 阅读全文
posted @ 2019-01-30 15:44 ^^ITBOY^^ 阅读(242) 评论(0) 推荐(0) 编辑
摘要:简介:MetaClass是Mybatis对类级别的元信息的封装和处理,通过与属性工具类的结合, 实现了对复杂表达式的解析,实现了获取指定描述信息的功能 理解了这个方法(递归, 该类中有很多类似的), 就可以很好的对这个类进行理解, 以查找(richType.richProperty)为例: 退出的条 阅读全文
posted @ 2019-01-29 14:26 ^^ITBOY^^ 阅读(827) 评论(0) 推荐(0) 编辑
摘要:本篇主要介绍mybatis反射工具中用到的三个属性工具类:PropertyTokenizer、PropertyNamer、PropertyCopier。 PropertyTokenizer: 主要用来解析Mybatis使用过程中遇到的类似"order[0].items[0].name"这种由"."和 阅读全文
posted @ 2019-01-24 10:58 ^^ITBOY^^ 阅读(529) 评论(0) 推荐(0) 编辑
摘要:ObjectFactory官方简介:MyBatis每次创建结果集对象的新实例时,它都会使用一个对象工厂(ObjectFactory)实例来完成。 默认的对象工厂需要做的仅仅是实例化目标类,要么通过默认构造方法,要么在参数映射存在的时候通过参数构造方法来实例化。 如果想覆盖对象工厂的默认行为,则可以通 阅读全文
posted @ 2019-01-23 16:03 ^^ITBOY^^ 阅读(341) 评论(0) 推荐(0) 编辑
摘要:简介:TypeParameterResolver是一个工具类,提供一系列的静态方法,去解析类中的字段、方法返回值、方法参数的类型。 在正式介绍TypeParameterResolver之前,先介绍一个JDK提供的接口Type,因为TypeParameterResolver的实现会涉及到它的实现;它是 阅读全文
posted @ 2019-01-22 16:40 ^^ITBOY^^ 阅读(568) 评论(1) 推荐(0) 编辑
摘要:java安全管理器类SecurityManager简单剖析: javadoc介绍: SecurityManager应用场景: 当运行未知的Java程序的时候,该程序可能有恶意代码(删除系统文件、重启系统等),为了防止运行恶意代码对系统产生影响,需要对运行的代码的权限进行控制,这时候就要启用Java安 阅读全文
posted @ 2019-01-21 16:08 ^^ITBOY^^ 阅读(7904) 评论(0) 推荐(0) 编辑
摘要:说明:Reflector是Mybatis反射工具的基础,每个Reflector对应一个类,在Reflector中封装有该类的元信息, 以及基于类信息的一系列反射应用封装API ReflectorFactory接口主要实现了对Reflector对象的创建和缓存,Mybatis为该接口提供了仅有的一个实 阅读全文
posted @ 2019-01-19 11:21 ^^ITBOY^^ 阅读(716) 评论(0) 推荐(0) 编辑
摘要:解析器模块,核心类XPathParser 阅读全文
posted @ 2019-01-17 16:56 ^^ITBOY^^ 阅读(394) 评论(0) 推荐(0) 编辑
摘要:Mybatis整体架构视图: 接 口 层 SqlSession (定义了Mybatis暴露给应用程序调用的API) 核 心 处 理 层 配置解析 (加载核心配置、映射配置、 mapper接口注解信息, 解析后形成的对象 保存至Configuration对象) SQL解析 (动态sql拼接) SQL执 阅读全文
posted @ 2019-01-17 13:56 ^^ITBOY^^ 阅读(510) 评论(0) 推荐(0) 编辑
摘要:JDK动态代理使用: 使用JDK动态代理步骤:①创建被代理的接口和类; ②创建InvocationHandler接口的实现类,在invoke方法中实现代理逻辑; ③通过Proxy的静态方法newProxyInstance( ClassLoaderloader, Class[] interfaces, 阅读全文
posted @ 2019-01-11 16:51 ^^ITBOY^^ 阅读(126) 评论(0) 推荐(0) 编辑
摘要:什么是代理? 代理模式是指给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。这种模式有什么用呢?它可以在原对象的基础上增强原对象的功能,比如在原对象调用一个方法的前后进行日志、事务操作等。Spring AOP就使用了代理模式。 了解代理入口: 阅读全文
posted @ 2019-01-11 16:43 ^^ITBOY^^ 阅读(140) 评论(0) 推荐(0) 编辑
摘要:分析入口: Proxy类的newProxyInstance方法: newProxyInstance方法中调用的获取代理类Class对象的getProxyClass0方法: 获取代理类Class对象的方法(getProxyClass0方法中调用的proxyClassCache.get())分析(Wea 阅读全文
posted @ 2019-01-11 16:18 ^^ITBOY^^ 阅读(116) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示