Spring AOP

理论

Advice通知

Advice 定义在连接点做什么,为切面增强提供织入接口。在Spring AOP中,他主要描述Spring AOP围绕方法调用而注入的切面行为。如BeforeAdvice, afterAdvice, ThrowsAdvice等。

Pointcut切点

Pointcut 决定Advice通知应该作用于哪个连接点,也就是说通过Pointcut来定义需要增强的方法的集合,这些集合的选取可以按照一定的规则来完成。在这种情况下,Pointcut通常意味着标识方法,例如,这些需要增强的地方可以由某个正则表达式进行标识,或根据某个方法名进行匹配等。

Advisor通知器

完成对目标方法的切面增强设计(Advice) 和关注点的设计(Pointcut)以后,需要一个对象把他们结合起来,完成这个作用的就是Advisor通知器。

配置详情

ProxyFactoryBean

  1. proxyInterfaces:代理类应该实现的接口。
  2. interceptorNames:需要应用到目标对象上的通知Bean的名字.可以是拦截器,advisor和其他通知类型的名字。
  3. target:代理的目标类。
<bean class="org.springframework.aop.framework.ProxyFactoryBean">
    <property name="proxyInterfaces" value="spring.aop.ITest"></property>
    <property name="interceptorNames" >
	     <list>
	      	<value>loggerAdvice</value>
	     </list>
    </property>
    <property name="target" ref="testproxyfactorybean"></property>
</bean>

BeanNameAutoProxyCreator

  1. interceptorNames:需要应用到目标对象上的通知Bean的名字.可以是拦截器,advisor和其他通知类型的名字。这个属性必须按照在BeanFactory中的顺序设置。
  2. beanNames:需要代理的bean的列表
<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
  <property name="interceptorNames">
   	<list>
    	<value>loggerAdvice</value>
   	</list>
  </property>
  <property name="beanNames">
   	<list>
    	<idref local="testproxyfactorybean" />
   	</list>
  </property>
</bean>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值