zoukankan
html css js c++ java
最简单的动态代理实例(spring基于接口代理的AOP原理)
JDK的动态代理是基于接口的
package
com.open.aop;
public
interface
BusinessInterface
{
public
void
processBusiness();
}
目标对象
package
com.open.aop;
public
class
BusinessObject
implements
BusinessInterface
{
public
void
processBusiness()
{
System.out.println(
"
action
"
);
}
}
代理对象
package
com.open.aop;
import
java.lang.reflect.InvocationHandler;
import
java.lang.reflect.Method;
import
java.lang.reflect.Proxy;
public
class
LogHandler
implements
InvocationHandler
{
private
Object delegate;
public
Object binder(Object delegate)
{
this
.delegate
=
delegate;
return
Proxy.newProxyInstance(delegate.getClass().getClassLoader(),
delegate.getClass().getInterfaces(),
this
);
}
public
Object invoke(Object proxy, Method method, Object[] args)
throws
Throwable
{
Object obj
=
null
;
System.out.println(
"
对象方法调用前
"
);
try
{
obj
=
method.invoke(delegate, args);
}
catch
(Exception e)
{
}
System.out.println(
"
对象方法调用后
"
);
return
obj;
}
}
测试类
package
com.open.aop;
import
java.lang.reflect.InvocationHandler;
import
java.lang.reflect.Proxy;
public
class
Test
{
public
static
void
main(String[] args)
{
BusinessInterface bi
=
(BusinessInterface)
new
LogHandler()
.binder(
new
BusinessObject());
bi.processBusiness();
}
}
输出结果
对象方法调用前
action
对象方法调用后
查看全文
相关阅读:
20145314郑凯杰 《Java程序设计》实验一 Java开发环境的熟悉(Windows + Eclipse)实验报告
20145314郑凯杰 《Java程序设计》第6周学习总结
20145314郑凯杰 《Java程序设计》第5周学习总结
20145314郑凯杰 《Java程序设计》第4周学习总结
20145314郑凯杰 《Java程序设计》第3周学习总结
20145314郑凯杰 《Java程序设计》第2周学习总结 代码开始!
20145314郑凯杰 《Java程序设计》第1周学习总结
【问卷调查】来吧!新学期!
先记录一下吧 开始的程序 hello!java!
第0周学习总结
原文地址:https://www.cnblogs.com/shaohz2014/p/3582151.html
最新文章
mongodb常用语句(集合操作)
如何在DIV内只要垂直滚动条,不要水平滚动条
在CentOS中使用 yum 安装MongoDB及服务器端配置
memcached分布式部署
linux下memcached的启动/结束的方式
centos系统为php安装memcached扩展
Highcharts属性与Y轴数据值刻度显示Y轴最小最大值
Linux安装PHP加速器Xcache
linux安装PHP加速器eAccelerator
线程间通讯
热门文章
线程生命周期(状态)
NSThread常见方法
NSThread创建线程的3种方式
关键帧动画结束后会有短暂停顿
基本动画CABasicAnimation
UICollectionView布局cell的三种方式
CALayer的m34
非RootLayer的隐式动画
CALayer的transform属性
20145314郑凯杰 《Java程序设计》实验二 实验报告
Copyright © 2011-2022 走看看