spring|Java程序员必知:Spring面试之AOP(JDK动态代理实现)( 二 )
interfacesInvocationHandler h)通过他可以生成一个代理对象 , 他需要传入三个参数:类加载器、类实现的接口、InvocationHandler接口 ,
对于InvocationHandler接口 , 可以通过匿名内部类来实现 , 也可以通过直接实现InvocationHandler接口 。
InvocationHandler里有一个方法public Object invoke(Object proxy Method method Object[
args) throws Throwable在调用目标类的任何一个方法的时候 , 都相当于执行了这个方法 。 所以我们只需要控制invoke这个方法就好了 。
对于上面的第三个参数 , 传入接口的实例 , 所以直接传入this就好了 , 最后返回一个代理类 。
使用JDK动态代理 , 因为他可以对接口产生动态代理 , 创建UserDao的代理类
@return 代理对象
public Object createProxy(){
Object proxy = Proxy.newProxyInstance(UserDao.class.getClassLoader() UserDaoImpl.class.getInterfaces() this);
return proxy;
- 程序员|强力支持!国家再出重拳,这是要彻底解决华为芯片危机
- Java|Java项目搜索功能的实现
- 程序员|37岁程序员裸辞,四个月被497家公司拒绝,问猎头后懵了
- Java|面试三年经验的程序员,感觉简历在造假!连个简单的题目都不会
- 游龙战神|-启动流程,好程序员Java培训分享SpringBoot
- 程序员|漫画:程序员的宿命,真实的反映了我现在的状况。何时是个头?
- 程序员|那些还在外包公司干的程序员们,快醒醒吧
- Java|Java重写equals方法时为什么要重写hashCode方法
- 移动互联网|干了两年 Java,自考本科,15k,很难有机会进大厂?
- Java|一份好的 Java 开发简历,让面试官眼前一亮,到底长啥样?
