Spring学习第4天之AOP

  • 想要熟悉流程的时候,一定要多多打断点

  • jdkproxy的优点

    • 动态的产生代理对象,只需要一个拦截器就可以了

  • jdkproxy的缺点

    • 如果在invoke方法中做事务的判断, 是很复杂的事情

    • 程序员还需要对invoke方法进行修改,写拦截器

  • 新的事物是对老事物的改进及完善


AOP(针对的是大量的重复性的工作)

  • AOP的意义


  • AOP的各个概念


检验切入点表达式配置是否成功,可以查看一下代理对象是否正确


AOP的原理

1 启动spring容器
2 实例化PersonDao和Transaction
3 spring容器解析aop:config配置

  • 当spring容器解析到切入点表达式的时候,将切入点表达式中的解析出来

  • 将切入点表达式的类与spring容器中的类进行匹配

    • 成功,为该对象创建代理对象

    • 失败, 则报错

代理对象方法的形成 = 通知 + 目标方法

4 在客户端context.getbean()中, 有代理对象则返回代理对象。没有则返回原对象
5 在spring内部,需要判断目标类是否实现了接口

  • 如果实现了, 有jdkproxy来产生代理对象

  • 如果没有实现, 由cglibproxy来产生代理对象


aop xml文件



   
   
   
   
   
           
           
           
           
               
               
               
               
           
   

    

AOP各种通知



   
   
    
        
        
            
            
            
            
            
            
            
            
            
            
        
    


出现问题抛异常,在一处处理就可以了

你可能感兴趣的:(spring)