Chinaunix首页 | 论坛 | 博客
  • 博客访问: 126498
  • 博文数量: 47
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 243
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-18 11:45
文章分类

全部博文(47)

文章存档

2017年(2)

2015年(33)

2014年(12)

分类: Java

2015-04-05 10:47:22

AOP采用横向抽取机制,取代了纵向继承重复性代码,在运行期间通过代理方式向目标类注入增强代码

Joinpoint 连接点  指那些被拦截到的点(spring中,指的是方法)
Pointcut  切入点   被拦截的连接点
Advice  通知   对切入点增强的内容(拦截到Joinpoint后要做的事情)
Aspect  切面  切入点和通知的总和
Target  代理的目标对象
Weaving  织入,将增强代码应用到目标上,生成代理对象
Proxy  生成的代理对象


代理模式(方法增强):为其他对象提供一种代理以控制对这个对象的访问

AOP xml实现

   <bean id="userDao" class="cn.itcast.c_aspectj_xml.UserDao">bean>

  

   <bean id="myAspect" class="cn.itcast.c_aspectj_xml.MyAspect">

   bean>

   <aop:config proxy-target-class="true">

     

      <aop:aspect ref="myAspect">

        

         <aop:pointcut id="daoPoincut" expression="execution(* cn.itcast.c_aspectj_xml.UserDao.*(..))" />
        

        
<aop:before method="before" pointcut-ref="daoPoincut"/>
    
aop:aspect>
    aop:config>

AOP 注解实现
@Aspect() 注明切面

   <aop:aspectj-autoproxy>aop:aspectj-autoproxy>

  

  

   <bean id="userDao" class="cn.itcast.d_aspectj_annotation.UserDao">bean>

  

  

   <bean id="myAspect" class="cn.itcast.d_aspectj_annotation.MyAspect">

   bean>


阅读(963) | 评论(0) | 转发(0) |
0

上一篇:spring复习

下一篇:spring事务

给主人留下些什么吧!~~