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


    静态代理

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

     步骤二:真实业务代码

     步骤三:测试

     

     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(); } }
  • 相关阅读:
    JavaScript笔记
    第二个项目总结
    java设计模式-代理模式
    软件设计师-随笔笔记
    java设计模式-单例模式
    java-内部类介绍
    java-初识JVM运行及类加载过程
    java-java动态性之反射,动态编译,动态执行js及动态字节码操作
    java-初识注解Annotation
    java-网络编程入门
  • 原文地址:https://www.cnblogs.com/haohanwuyin/p/11756642.html
Copyright © 2020-2023  润新知