虽然我们都知道有20多个设计模式,但是大多停留在概念层面,真实开发中很少遇到,Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式。 Mybatis至少遇到了以下的设计模式的使用: Builder模式,例如SqlSessionFactoryBuild ...
分类:
其他好文 时间:
2020-10-08 19:17:18
阅读次数:
14
前言 因为假期原因,有一段时间没给大家更新了!和大家说个事吧,放假的时候一位粉丝和我说了下自己的被虐经历,在假期前他去某互联网公司面试,结果直接被人家面试官Spring AOP三连问给问的一脸懵逼!其实我觉着吧,这玩意不是挺简单的吗? 大家在学习 AOP 之前,如果清楚代理模式的话,则学习起来非常轻 ...
分类:
编程语言 时间:
2020-10-07 21:27:46
阅读次数:
27
1 插件原理 Mybatis在四大对象(Executor、ParameterHandler、ResultSetHandler、StatementHandler)创建的过程中,都会有插件进行介入。插件可以利用动态代理机制一层层的包装目标对象,从而实现在目标对象执行目标方法之前进行拦截的效果。 Myba ...
分类:
其他好文 时间:
2020-09-17 23:33:26
阅读次数:
31
代理模式在java开发中是一种比较常见的设计模式。设计目的在为服务类与客户类之间插入其他功能,插入的功能对于调用者是透明的,起到伪装控制的作用,如租房的例子房客、中介、房东。对于代理模式中即:客户类、代理类、委托类(被代理类)。代理模式的两个设计原则:1.代理类与委托类具有相似的行为(共同)2.代理类增强委托类的行为代理模式实现的方式静态代理动态代理案例实操静态代理为某个对象提供一个代理,代理角色
分类:
其他好文 时间:
2020-09-17 19:43:18
阅读次数:
28
##1. 为什么要用动态代理 对于一个类的方法 public class Calculator { public void add(int i,int j){ System.out.println("add方法调用,参数为"+i+","+j); System.out.println(i + j); ...
分类:
其他好文 时间:
2020-09-17 13:39:54
阅读次数:
30
首先创建一个接口 UserDao 然后创建一个实现类 UserDaoImpl 当我们需要对已有的接口进行增强时,我们就可以使用Proxy,创建接口的代理对象 对于Proxy类的newProxyInstance方法的第三个参数,可以使用匿名内部类,如上。也可以通过创建实现InvocationHandl ...
分类:
编程语言 时间:
2020-09-16 12:17:25
阅读次数:
43
一、动态代理 1、定义接口 public interface CoverProxyInterface { String eat(String str); String sleep(String str); } 2、实现接口 public class CoverProxyClass implement ...
分类:
其他好文 时间:
2020-09-15 21:27:15
阅读次数:
50
11.1 AOP 概念 关注点(需要增强的地方)、通知(增强的逻辑)、切(时机)。 AspectJ 静态代理。 Spring AOP Spring AOP属于动态代理。 如果目标对象实现了某个接口,那么Spring AOP就会使用JDK动态代理去创建代理对象,调用者调用的是接口,IOC注入的是代理对 ...
分类:
编程语言 时间:
2020-09-07 19:20:35
阅读次数:
66
1.概述Java反射机制与动态代理我们平时写代码可能用得比较少,但在各种常见的框架(Spring、MyBatis等)中却屡见不鲜。有句话叫“无反射,不框架;无代理,不框架”。由于以后打算阅读和学习框架的源码,这里先简单回顾反射机制和动态代理(暂不深入分析实现原理),为后面做些准备。2.反射机制Java反射机制是在Java程序运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个
分类:
编程语言 时间:
2020-08-31 13:09:17
阅读次数:
45
8.装饰模式顾名思义,装饰模式就是给一个对象增加装饰一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例Source类是被装饰类,Decorator类是一个装饰类,可以为Source类动态的增加一些功能,代码如下:publicinterfaceSourceable{publicvoidmethod();}publicclassSourceimplemen
分类:
其他好文 时间:
2020-08-20 18:34:01
阅读次数:
49