spring aop学习5:jdk静态代理
2017-10-27 22:34
204 查看
一:基于接口的静态代理
1.分层
User(使用者)——Proxy(代理对象)——Target(目标对象)
二.上代码
1.基于接口的代理
◆接口InterfaceObject.java
◆目标对象TargetObject.java
◆代理对象ProxyObject.java
◆测试执行main方法
1.分层
User(使用者)——Proxy(代理对象)——Target(目标对象)
二.上代码
1.基于接口的代理
◆接口InterfaceObject.java
package com.tiglle.aop.interfaces.proxy; //基于接口代理的接口(目标对象和代理对象都要实现) public interface InterfaceObject { //目标对象和代理对象都要实现的方法 public void common(); public void common2(); }
◆目标对象TargetObject.java
package com.tiglle.aop.interfaces.proxy; //目标对象 public class TargetObject implements InterfaceObject{ //处理真正的逻辑,不对外暴露此方法 @Override public void common() { System.out.println("目标对象的执行"); } @Override public void common2() { System.out.println("目标对象的执行"); } }
◆代理对象ProxyObject.java
package com.tiglle.aop.interfaces.proxy; //代理对象 public class ProxyObject implements InterfaceObject{ //代理对象中包含目标对象 private TargetObject targetObject; //给目标对象赋值 public ProxyObject(TargetObject targetObject){ this.targetObject = targetObject; } //代理对象调用目标对象的方法,自己额外做些处理 @Override public void common() { System.out.println("代理对象开始执行:before"); targetObject.common(); System.out.println("代理对象结束执行:after"); } @Override public void common2() { System.out.println("代理对象开始执行:before"); targetObject.common2(); System.out.println("代理对象结束执行:after"); } }
◆测试执行main方法
package com.tiglle.aop.interfaces.proxy; public class UseExec { //调用(调用代理对象) public static void main(String[] args) { //向上转型 InterfaceObject interfaces = /*代理类*/new ProxyObject(new TargetObject()/*目标类*/); //通过接口调用代理方法(目标方法) interfaces.common(); interfaces.common2(); } } 结果: 代理对象开始执行:before 目标对象的执行 代理对象结束执行:after 代理对象开始执行:before 目标对象的执行 代理对象结束执行:after
相关文章推荐
- 学习Spring AOP
- 用代码一步步学习Spring:IoC,AOP
- Spring学习4-面向切面(AOP)之aspectj注解方式
- ITCAST视频-Spring学习笔记(使用CGLIB实现AOP功能与AOP概念解释)
- Spring学习笔记(12)——aop
- JavaWeb学习笔记-spring-08-AOP-概述
- Spring.Net学习 控制反转(IoC)和面向切面编程(AOP)
- Spring3学习(3)__AOP
- 【j2ee spring】4、spring的aop学习
- 关于spring AOP 的初步学习
- spring学习笔记6--AOP
- Spring 4 官方文档学习(七)核心技术之Spring AOP APIs
- 毕业设计(四)---spring学习笔记(2)之-AOP
- spring的AOP学习2——动态代理
- Spring学习第二天Aop_invoke的代理对象生成解析
- Spring.Net实现AOP以及AOP相关概念(学习笔记四)
- 【spring学习笔记三】aop思想介绍及实现原理
- Spring学习,AOP术语
- Spring学习——什么是AOP
- spring2.5 AOP学习