首页 > 其他 > 详细

使用SMM框架开发企业级应用-----代理(静态,JDK,CGLIB)

时间:2019-10-29 09:43:38      阅读:64      评论:0      收藏:0      [点我收藏+]

静态代理

  步骤一:创建抽象主题(接口) 

技术分享图片

 

 

 

 步骤二:真实业务代码

技术分享图片

 

 

 步骤三:测试

技术分享图片

 

技术分享图片

 

 

 技术分享图片

 

 

 

 JDK代理

  步骤一:创建抽象主题(接口)

技术分享图片

 

 

 步骤二:真实业务代码

技术分享图片

 

 

 步骤三:测试

 

 

 技术分享图片

 技术分享图片

CGLIB代理

步骤一:代码层

技术分享图片

 

 

 步骤二:测试

public class ServiceCglib {
    public static void main(String[] args) {
        //步骤一:目标对象
        final Cglib cglib=new Cglib();
        //步骤二:生成代理
        Enhancer enhancer=new Enhancer();
        //步骤三:指定需要代理的目标对象木模板
        enhancer.setSuperclass(cglib.getClass());
        //步骤四:实现增强的处理操作
        enhancer.setCallback(new MethodInterceptor() {
            /**
             *
             * @param o             目标对象
             * @param method        目标方法
             * @param objects       目标方法的参数
             * @param methodProxy   代理目标对象的方法
             * @return
             * @throws Throwable
             */
            @Override
            public Object intercept(Object o, Method method, Object[] objects, MethodProxy methodProxy) throws Throwable {
                 System.out.println("后置增强==========="); 
          Object invoke = methodProxy.invoke(cglib, objects);
          System.out.println("后置增强==========="); return invoke; } });
       //最后一步:创建代理 Cglib o = (Cglib)enhancer.create(); o.Some(); } }

使用SMM框架开发企业级应用-----代理(静态,JDK,CGLIB)

原文:https://www.cnblogs.com/haohanwuyin/p/11756642.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!