源码分析
文章平均质量分 52
HAD_HAD
这个作者很懒,什么都没留下…
展开
-
mybatis之Property工具集
PropertyTokenizer该类主要是解析一些稍微复杂的表达式orders[O].item[0].name这种表达式/** * @author Clinton Begin * 属性标记器 *//** * 假设传入的为student[sId].name * 则各个属性得到以下结果 * * 该属性标记器只能处理一级,即点后面的都作为children */public class PropertyTokenizer implements Iterator<Propert原创 2021-03-03 09:46:34 · 2960 阅读 · 0 评论 -
mybatis之Reflector和ReflectorFactory
Reflector和ReflectorFactoryReflectorFactory/** * 工厂接口的默认实现 */public class DefaultReflectorFactory implements ReflectorFactory { //该字段决定了是否对开启对Reflector的缓存 private boolean classCacheEnabled = true; //使用线程安全的map对Reflector对象进行缓存 private final Conc原创 2021-03-03 09:45:54 · 209 阅读 · 0 评论 -
mybatis之TypeParameterResolver工具类
TypeParameterResolver它是一个工具类,提供了一系列静态方法来解析指定类中的宇段、方法返回值或方法参数的类型。 TypeParameterResolver 中各个静态方法之间的调用关系大致如图 2-11 所示,为保持清晰,其中递归调用没有表现出来,在后面的代码分析过程中会进行强调。public class TypeParameterResolver { /** * @return The field type as {@link Type}. If it原创 2021-03-03 09:45:09 · 247 阅读 · 0 评论 -
mybatis之Type类
Type类type类是所有类型的父接口,它由四个子接口和一个实现类下面来看这些子接口和子类所代表的类型。Class类比较常见,它表示的是原始类型。Class类表示的是JVM中的一个类或者接口。每个java类在JVM中都表现为一个Class对象。在程序中可以通过类名.class或者对象.getClass()或者是Class.forName(全限定类名)来获取Class对象。数组也也被映射为Class对象,所有元素类型相同并且维数相同的数组都共享一个Class对象。Parameteri原创 2021-03-03 09:42:00 · 994 阅读 · 0 评论 -
mybatis之Log接口及其实现类
Log接口及其实现类public interface Log { boolean isDebugEnabled(); boolean isTraceEnabled(); void error(String s, Throwable e); void error(String s); void debug(String s); void trace(String s); void warn(String s);}public final class LogF原创 2021-03-03 09:38:24 · 663 阅读 · 0 评论 -
mybatis之ResolverUtil工具类
ResolverUtil工具类* ResolverUtil 用来定位某个class路径下满足任意条件的类们。通常的筛选条件是: * 类继承了某个接口 * 实现了某个类 * 类拥有可定的注解 * 基于Test类可以用来判断某各类是否满足这些条件 public class ResolverUtil<T> { /* * An instance of Log to use for logging in this class. */ private static f原创 2021-03-03 09:37:30 · 337 阅读 · 0 评论 -
mybatis之日志系列适配器
适配器模式适配器其实很简单,就是实现类Adaptee无法实现Target的接口,所有封装了一个中间层Apapter适配器,该适配器实现了接口Target并且把实现类Adaptee作为类参数。Apapter在实现接口Target的方法是实际上是使用了参数Adaptee进行实现。public interface Target { void 吃饭();}public class Adaptee { void 吃大米饭() { System.out.println("吃大原创 2021-03-03 09:34:33 · 136 阅读 · 0 评论 -
mybatis值VFS虚拟文件类
VFS接口 private static final Log log = LogFactory.getLog(VFS.class); /** 记录 MyBatis 供的两个 VFS 实现类. */ public static final Class<?>[] IMPLEMENTATIONS = { JBoss6VFS.class, DefaultVFS.class }; /** 记录 用户自定义 VFS 实现类 VFS addimplClass ()方法会将指定的 VFS 实原创 2021-03-03 09:31:30 · 480 阅读 · 0 评论