码迷,mamicode.com
首页 > 编程语言 > 详细

Spring总结(二)(AOP)

时间:2015-10-26 18:28:29      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

 

技术分享

 

springAOP的原理:

   1、当启动spring容器的时候,

         <bean id="classDao" class="cn.itheima03.spring.aop.xml.ClassesDaoImpl"></bean>

         <bean id="myTransaction" class="cn.itheima03.spring.aop.xml.MyTransaction"></bean>

       把这两个bean创建对象了

   2、解析aop:config

        1、解析切入点表达式,把表达式解除出来以后和spring中的bean进行匹配

        2、如果匹配成功,则为该bean创建代理对象,在创建代理对象的过程中,把目标方法和通知结合在一起了

           如果匹配不成功,则直接报错

        3、当客户端调用context.getBean时,获取到的

                                          1、如果该对象有代理对象,则返回代理对象

                                          2、如果该对象没有代理对象,则返回对象本身

说明:

   spring容器内部会自动判断:

              如果目标类实现了接口,则采用jdkproxy

              如果目标类没有实现接口,则采用cglibproxy

 

前置通知:

   1、在目标方法之前执行

   2、无论目标方法遇到异常都执行

后置通知:

   1、在目标方法之后执行

   2、如果目标方法遇到异常,则不执行

   3、可以获取连接点的一些信息

最终通知:

   1、相当于finally

   2、无论目标方法是否遇到异常,都执行

异常通知

   1、获取目标方法抛出的异常信息

   2、throwing参数的配置才能获取信息

环绕通知

   相当于jdkproxy的invoke方法  能控制目标方法的执行(JointPointProceed)

 

例子随后补上

Spring总结(二)(AOP)

标签:

原文地址:http://www.cnblogs.com/xiaoying1245970347/p/4911917.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!