java代理与替身

有很多小事,其实自己来处理,还没有别人处理更好呢,找一个人来呗,没有必要做的事交给指定的人做呗,反正得出点money。

spring中aop底层采用代理机制,jdk动态代理,cglib字节码动态代理

#jdk动态代理

public Object ming(Object bean, String name) {
      /*
       ClassLoader loader:真实角色所在类的类加载器
       Class[] interfaces:真实角色实现的接口
       InvocationHandler h:实现InvocationHandler接口的类(代理类)
      */
        return Proxy.newProxyInstance(TestMapperOne.class.getClassLoader(), bean.getClass().getInterfaces(),
                new InvocationHandler() {
                    /*
                     Object proxy:指被代理的对象
                     Method method:要调用的方法
                     Object[] args:方法调用时所需要的参数
                    */
                    @Override
                    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
                        return null;
                    }
                });
    }

你可能感兴趣的:(后端,java)