博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java实现动态代理切面编程
阅读量:6258 次
发布时间:2019-06-22

本文共 1476 字,大约阅读时间需要 4 分钟。

package proxy;

import java.lang.reflect.InvocationHandler;

import java.lang.reflect.Method;
import java.lang.reflect.Parameter;

public class MyInvocation implements InvocationHandler{

Object obj;

public void setObj(Object obj) {

this.obj = obj;
}

@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
Parameter[] parameters = method.getParameters();
for (Parameter parameter : parameters) {
parameter.getName();
}
ProxyUtii.proxyMethod1(method.getName());
Object invoke = method.invoke(obj, args);
ProxyUtii.proxyMethod2(method.getName());
return invoke;
}

}

 

 

package proxy;

import java.lang.reflect.Proxy;

public class MyProxy {

public static Object getProxyInstance(Object obj) {

MyInvocation mi = new MyInvocation();
mi.setObj(obj);

Object newProxyInstance = Proxy.newProxyInstance(obj.getClass().getClassLoader(),

obj.getClass().getInterfaces(),mi);
return newProxyInstance;

}

}

 

 

 

package proxy;

public class ProxyUtii {

public static void proxyMethod1(String str) {
System.out.println("开始执行sql方法:"+str+"****************************************");
}
public static void proxyMethod2(String str) {
System.out.println("结束执行sql方法:"+str+"****************************************");
}

}

 

 

 

public static void main(String[] args) {

Object proxyInstance = MyProxy.getProxyInstance(pmaunewMapperImpl);

PmaunewMapper pm = (PmaunewMapper) proxyInstance;

List<Pmaunew> selectTest = pm.selectTest();

}

 

转载于:https://www.cnblogs.com/cw828/p/11031308.html

你可能感兴趣的文章
使用 PIVOT 和 UNPIVOT 行转列
查看>>
【Spring实战】—— 5 设值注入
查看>>
应聘华为 16道经典面试题及回答思路
查看>>
iOS tabbar 自定义小红点 消息显示,定制边框、颜色、高宽
查看>>
JavaScript:JavaScript语法的详细介绍
查看>>
java校验时间格式 HH:MM
查看>>
C# SQL 整表插入
查看>>
CSS3效果:animate实现点点点loading动画效果(二)
查看>>
NYOJ92 图像实用区域 【BFS】
查看>>
Maven常见异常及解决方法(本篇停更至16-4-12)
查看>>
微信小程序wx.previewImage实用案例(交流QQ群:604788754)
查看>>
用SSH解决大局域网反向端口转发问题
查看>>
【来龙去脉系列】机器学习入门必读
查看>>
VMware给虚拟机绑定物理网卡
查看>>
ROS中测试机器人里程计信息
查看>>
Python 能做什么?
查看>>
RecyclerView分隔线定制
查看>>
python-i春秋验证码识别
查看>>
Es对于日期处理
查看>>
深入理解 Java 动态代理机制
查看>>