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
对象方法调用后
查看全文
相关阅读:
Celery的使用
python中使用redis
Redis基础
版本控制器git
day 74作业
Djangorestfromwork作业1
Django rest-framework的jwt认证
Django --form验证
cx-oracle-------------------安装
排序算法
原文地址:https://www.cnblogs.com/shaohz2014/p/3582151.html
最新文章
git 分支提交到主分支步骤
git checkout 报错error: Your local changes to the following files would be overwritten by checkout: data/dev.php Please, commit your changes or stash them before you can switch branches.
名令添加 MySQL 字段
laravel 遇见( RuntimeException )Unable to boot ApiServiceProvider, configure an API domain or prefix. 解决办法
添加samb用户
git 快速入门笔记
Git 代码提交到远程仓库
Shell脚本8种字符串截取方法总结
Linux bash shell环境变量以及语法规范
shell将字符串转换为大写变量并将小写作为变量值
热门文章
Zabbix的snmp监控一些snmp常用的一些OID (KEY)
CentOS 7 设置自定义开机启动,添加自定义系统服务
zabbix官网文档查看
zabbix simple check
netstat参数记录
zabbix监控系统性能采集指标
java进程分析
爬虫之scrapy框架(一)
爬虫之scrapy框架(二)
支付宝沙箱测试
Copyright © 2011-2022 走看看