<bean id="clientService"
class="usertest.service.impl.UserClientService">
</bean>
class="usertest.test.ClientServiceInterceptor">
</bean>
<bean id="postInterceptor"
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<list>
<value>clientService</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>postAdvisor</value>
</list>
</property>
</bean>
<bean id="postAdvisor"
class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor">
<property name="advice">
<ref local="clientAfterReturingAdvice" />
</property>
<property name="mappedNames">
<list>
<value>getOneClient</value>
</list>
</property>
class="usertest.service.impl.UserClientService">
</bean>
//advice 切面,实现AfterReturningAdvice接口
<bean id="clientAfterReturingAdvice"class="usertest.test.ClientServiceInterceptor">
</bean>
<bean id="postInterceptor"
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<list>
<value>clientService</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>postAdvisor</value>
</list>
</property>
</bean>
<bean id="postAdvisor"
class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor">
<property name="advice">
<ref local="clientAfterReturingAdvice" />
</property>
<property name="mappedNames">
<list>
<value>getOneClient</value>
</list>
</property>
</bean>
在AfterReturningAdvice中,不能修改retValue的指向的引用,修改了也不起作用,但可以设置retValue对象里面字段的值
本文介绍了一个使用Spring AOP实现的简单示例,展示了如何配置AspectJ切面来拦截特定方法调用并执行自定义逻辑。同时指出在AfterReturningAdvice中无法直接修改返回值引用的问题。

4033

被折叠的 条评论
为什么被折叠?



