栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring Aop理解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring Aop理解

aop思想

原来我们java编程是抽离出来,之后哪个需要这个增强类需要类中引用
aop思想:通过配置来实现,所有类要用到的同一个类会在配置中去实现,在java运行的过程中使用

aop实现

  1. 通过JDK的方法来实现:动态代理但是实现方式必须是接口实现,
Target target =new Target()
TargetInterface  proxy=(TargetInterface)Proxy.newProxyInstance(
     target.getClass().getClassLoader(), //目标类加载器
     target.getClass().getInterfaces(), //目标对象相同的接口字节数组
     new InvocationHandler(){
       public Object invoke(Object proxy,Method method,Object[] args)throws Throwble{
         ...  // 这里可以先实现之前的方法
         method.invoke(target ,args) //实现目标对象
         ...  // 这里可以先实现之后的方法
          return null;
       }
     }
    
)  //Jdk代理实现   
  1. 通过第三方cglib方法实现:父类
// cglib方法
Target target =new Target();
// 实现增强器
Enhancer enhancer=new Enhancer();
//设置父类(目标)
enhancer.setSuperclass(Target.class);
// 设置回调
enhander.setCallback(new MethodInterceptor){
   public Object intercept(Object proxy,Method method,Object[] args,MethodProxy methodProxy)throws Throwble{
         ...  // 这里可以先实现之前的方法
        Object invoke=  method.invoke(target ,args) //实现目标对象
         ...  // 这里可以先实现之后的方法
          return invoke;
       }
}
Target target=(Target)enhander.create()
// 
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/573141.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号