(一)代理 代理:Proxy 为已有的接口额外增加一些功能 /** * AOP概念 * 安全、事务、日志等功能贯穿到各个模块中,它们就是交叉业务。 * 重要原则:不要把供货商暴露给用户 * 面向方面编程(面向切面) * method{ method{ method{ * -------------切面-------------- * ---- ---- ---- * -------------切面-------------- * } } } * * 工厂模式或配置文件管理 * * 静态代理:代理一个类 * 动态代理:代理一类接口,JVM动态生成类(动态生成的类需要实现一个或多个接口) * CGLIB:动态生成类的子类(需要导入jar) * * 代理增加功能时机 * 1. 调用目标方法前 * 2. 调用目标方法后 * 3. 调用目标方法前后 * 4. 处理目标方法异常的catch块中 * */
|