我是spring的新手。我知道AfterAdvice
将导致after方法执行目标方法是否完成或异常退出,但我无法找到任何示例。
由于AfterAdvice
是一个标记界面,我不知道我需要在其实现类中定义哪种方法。
谢谢,
答案 0 :(得分:0)
您不必直接实现这些接口。相反,你使用
@After
注释标记要调用的方法。 aop:advice
来声明一个after advice方法但是,如果您选择使用ProxyFactoryBean
当您指示要使用ProxyFactoryBean时,可以像这样声明xml
<bean id="interceptor"
class="yourimplementation">
</bean>
<bean id="setterAdvisor"
class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
<property name="advice">
<ref bean="interceptor"/>
</property>
<property name="patterns">
<list>
<value>.*set.*</value>
</list>
</property>
</bean>
<bean id="person"
class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces" value="com.mycompany.Person"/>
<property name="target" ref="personTarget"/>
<property name="interceptorNames">
<list>
<value>setterAdvisor</value>
</list>
</property>
</bean>
对于java实现,没有用来实现Advice
接口。您应该实施ThrowingAdvice
或AfterReturningAdvice
。有关详细信息,请参阅this。