发表于: 2017-04-15 23:08:39

1 1199


今天完成的事情:

1.学习 Java 动态代理

1.学习 Spring AOP

明天计划的事情:

1.学习事务处理

遇到的问题:

暂无

收获:

1.总算弄懂了动态代理,对于理解 AOP 很有帮助,主要是这张图

//实现 InvocationHandler 接口
public class CheckHandler implements InvocationHandler {

   //代理的目标的实现类
   private Object targetObject;

   public Object setTargetObject(Object targetObject){
       this.targetObject = targetObject;
       //实例化目标对象
       return Proxy.newProxyInstance(targetObject.getClass().getClassLoader(), targetObject.getClass().getInterfaces(),this);
   }

   @Override
   public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {

       //我们需要代理的业务
       checkSecurity();
       
       //返回对象
       return method.invoke(targetObject,args);
   }

   void checkSecurity(){
       System.out.println("-----checkSecurity-----");
   }
}

2.学习切面的时候会用注解 @Aspect 来定义切面,并设置相应增强


返回列表 返回列表
评论

    分享到