本文 知识要点: 通过动态代理来代理对象
situation:目前项目处于0 阶段,第一步学会使用动态代理来进行代理对象,动态代理是mybatis 的项目的核心内容
task:学会动态代理的原理及使用, 利用Java的反射技术(Java Reflection),在运行时创建一个实现某些给定接口的新类(也称“动态代理类”)及其实例(对象),代理的是接口(Interfaces),不是类(Class),也不是抽象类。在运行时才知道具体的实现,spring aop就是此原理。
action:
1.编写映射器代理类,代理类需要实现InvocationHandler,并重写invoke 方法,invoke 方法里可定义被代理后的操作,任何使用改代理类 生成的类对象,在调用方法时都会进入invoke 方法里。
2.编写代理类工厂,用于实例化代理类,此处用到工厂模式,工厂模式是将类的实例化单独分开;
3. 编写被代理的类
4. 测试
result:知道动态代理的原理和操作