码迷,mamicode.com
首页 > 其他好文 > 详细

动态代理的应用---AOP

时间:2015-11-12 18:29:11      阅读:293      评论:0      收藏:0      [点我收藏+]

标签:

    1. AOP:面向切面编程
    2. 实现原理:动态代理
    3. 配置方式:
       <1> @AspectJ
       <2> XML
       推荐<2>,原因:可实现"热插拔".
    4. 相关术语介绍
       <1> 切面:aspect
           需要实现的交叉功能----通知和切入点的结合。
           通知和切入点共同定义了关于前面的全部功能:它的功能、在何时和何地完成功能。
       <2> 通知: advice
           定义了切面是什么以及何时使用。
           描述的内容:切面需要完成的工作、何时执行该工作----应该在一个方法被调用之前、之后或者抛出异常时。
       <3> 切入点 pointcut
           如果说通知定义了切面的"什么"和"何时",那么切入点就定义的"何地"。
       <4> 连接点 joinpoint
           应用程序执行过程中能够插入切面的地点。
           地点:方法被调用时、异常抛出时、字段被编辑时等等。
       <5> 引入 intrduction
           允许为已经存在的类添加新方法和属性。
           比如:一个通之类,记录对象在最后一次被修改时的状态,只需要一个setLastModified(Date date)方法,和一个实例变量来保存这个状态。这个新方法和实例变量就可以被引入到现有的类,从而在不修改它们的情况下,让它们具有新的行为和状态。
       <6> 目标对象 target
           被通知的对象。
       <7> 代理 proxy
           将通知应用到目标后创建的对象。
       <8> 织入
           将切面应用到目标对象从而创建一个新的代理对象的过程。在目标对象的生命周期里有多个机会发生织入过程。比如编译时、类加载时、运行时。

    5. Spring AOP的5个时间点

技术分享

动态代理的应用---AOP

标签:

原文地址:http://my.oschina.net/u/1989867/blog/529513

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