ibatis的bean解析涉及到的类见如下UML;主要是在包com.ibatis.common.beans下;
其中DomProbe是负责dom解析。ComplexBeanProbe负责javabean的反射。GenericProbe类主要是用前面两个类实现baseProbe同样的方法。用到了设计模式职责链模式(chain of responsibility):看如下代码:
private static final BaseProbe BEAN_PROBE = new ComplexBeanProbe();
private static final BaseProbe DOM_PROBE = new DomProbe();
public void setObject(Object object, String name, Object value) {
if (object instanceof org.w3c.dom.Document) {
DOM_PROBE.setObject(object, name, value);
} else {
BEAN_PROBE.setObject(object, name, value);
}
}
当客户端要得到probe时,由ProbeFactory创建,运用工厂模式。
public class ProbeFactory {
private static final Probe DOM = new DomProbe();
private static final Probe BEAN = new ComplexBeanProbe();
private static final Probe GENERIC = new GenericProbe();
//返回通用类型的probe
public static Probe getProbe() {
return GENERIC;
}
//判断是返回哪种类型的probe
public static Probe getProbe(Object object) {
if (object instanceof org.w3c.dom.Document) {
return DOM;
} else {
return BEAN;
}
}
}
dom和bean解析就介绍到这里。
- 大小: 121.2 KB
分享到:
相关推荐
解析这个XML文件的过程涉及到DOM或SAX解析器,源码中这部分功能通常在`org.apache.ibatis.io.Resources`和`org.apache.ibatis.builder.Configuration`类中实现。 三、Executor执行器 Executor执行器是iBatis的核心...
描述中的"ibatis框架源码剖析书中附带的光盘,ibatis源码分析"暗示这可能是一个学习资源,用于深入理解iBATIS的工作原理,可能包括了对源码的详细解读和分析。 **iBATIS核心知识点** 1. **SQL映射**:iBATIS的核心...
通过深入分析iBATIS的源码,开发者不仅可以了解其工作原理,还能学习到设计模式、数据库访问的最佳实践以及如何优雅地处理数据库操作。对于提升Java开发者的技能和理解数据库访问层的实现有极大的帮助。在实际开发中...
iBATIS一词来源于“internet”和“abatis”的组合,是一个由Clinton Begin在2001年发起的开放源代码项目。于2010年6月16号被谷歌托管,改名为MyBatis。是一个基于SQL映射支持Java和·NET的持久层框架。
ibatis源码 学习参考 对于学习ibatis很有帮助
iBATIS框架源码剖析
接下来,关于源码分析: 1. 源码阅读:源码中包含Ibatis的所有核心组件,如SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession等。通过阅读源码,可以深入了解其工作原理,例如如何加载配置文件、如何创建和...
《ibatis框架源码剖析》是一本深入探讨mybatis前身——ibatis的源码解析书籍。通过对源码的深入分析,我们可以理解ibatis的核心机制,掌握数据库操作的底层原理,从而更好地利用和优化这个强大的持久层框架。在这个...
通过学习和分析这个源码,开发者不仅可以深入了解SpringMVC和iBatis的协同工作原理,还可以掌握如何在Eclipse这样的IDE中配置和运行这样的项目。这有助于提升对MVC模式的理解,提高数据库操作的能力,以及熟练运用...
iBATIS一词来源于“internet”和“abatis”的组合,是一个由Clinton Begin在2001年发起的开放源代码项目。最初侧重于密码软件的开发,现在是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data ...
只需在配置文件ibatorConfig.xml 更改tableName="你的表名"即可自动生成全部。 记住更改jdbc路径和mysql-connector-java-5.1.6-bin.jar的路径。
ibatis 源码 例子 包含 源码,jar都有 部分代码 package com.icss.dao; import java.io.IOException; import java.io.Reader; import java.sql.SQLException; import java.util.List; import ...
开发者可以将此jar包添加到工程的类路径(classpath)中,以便利用iBATIS提供的功能,如动态SQL、映射文件解析和数据库操作。 其次,`ibatis-2.3.4-src.zip` 是iBATIS 2.3.4版本的源代码。这个压缩文件包含了项目的...
在源码分析部分,你会看到iBATIS如何加载和解析XML配置文件,如何执行SQL语句,以及如何处理异常。这部分内容对于理解iBATIS的工作流程至关重要,它将帮助你更好地调试和优化基于iBATIS的应用。 最后,你会了解到...
这个“iBatis源码jar包以后上传”可能指的是将要分享或者提供iBatis的源码jar包,以便于开发者深入学习和理解其内部工作原理。 首先,让我们来了解一下iBatis的基本概念和工作流程。iBatis的核心是SQL Map配置文件...
一、**IBatis源码分析** IBatis的源码是开源的,这对于开发者来说是一份宝贵的资源,可以让我们深入了解其工作原理和内部机制。通过阅读源码,我们可以学习到以下知识点: 1. **动态SQL**:IBatis的核心功能之一...
【标题】"ibatis2.3源码"指的是开源的SQL映射框架iBATIS的2.3版本的源代码。iBATIS是Java平台上的一种轻量级持久层框架,它将SQL语句与Java代码分离,使得开发者可以更加灵活地处理数据库操作。 【描述】中的"可以...