简单介绍:
Javassist
是一个开源的分析、编辑和创建 Java 字节码的类库。关于 java 字节码的处理,目前有很多工具,如 bcel,asm,不过这些都需要直接跟虚拟机指令打交道。如果你不想了解虚拟机指令,可以采用
javassist
。
javassist
是 jboss 的一个子项目,其主要的优点,在于简单,而且快速。直接使用 java 编码的形式,而不需要了解虚拟机指令,就能动态改变类的结构,或者动态生成类。简而言之:Javassist
能够转换现有类的基本内容,或创建一个新类。装载到类池中的类由
javassist.CtClass
实例表示。与标准的java.lang.Class
类一样,CtClass
提供了检查类数据(如字段和方法)的方法。不过,这只是CtClass
的部分内容,它还定义了在类中添加新字段、方法和构造函数、以及改变类、父类和接口的方法。奇怪的是,Javassist
没有提供删除一个类中字段、方法或者构造函数的任何方法。
- 字段、方法和构造函数分别由
javassist.CtField
、javassist.CtMethod
和javassist.CtConstructor
的实例表示。这些类定义了修改由它们所表示的对象的所有方法的方法,包括方法或者构造函数中的实际字节码内容。总结:反射可以使用字节码文件里面的信息,
javassist
可以根据字节码信息动态的生成自己所需要的类。
在WEB中使用mybatis
- 目标:
- 掌握 mybatis 在 web 应用中怎么用。
- mybatis 三大对象的作用域和生命周期。
- ThreadLocal 原理及使用。
- 巩固 MVC 架构模式。
- 为学习 MyBatis 的接口代理机制做准备。
- 实现功能:
- 银行账户转账
- 使用技术:
- HTML + Servlet + Mybatis
- Web应用名称:
- bank
手写Mybatis框架(掌握原理)
- 手写一个模仿MyBatis的框架GodBatis
Mybatis核心配置文件详解
- MyBatis核心配置文件包括属性:
- configuration
- environment
- transactionManager
- dataSource
- properties
- mapper
Mybatis CRUD
- 使用MyBatis完成CRUD:
- Create
- Retrieve
- Update
- Delete