Spring AOP拥有一个名为CustomizableTraceInterceptor
的方法级跟踪器。使用Spring的XML配置方法,可以像这样设置该跟踪器:
Spring AOP还有一种基于注解的跟踪器,称为@Traced
,可以通过在方法上添加注解来启用跟踪。
<bean id="customizableTraceInterceptor" class="
org.springframework.aop.interceptor.CustomizableTraceInterceptor">
<property name="enterMessage" value="Entering $[methodName]($[arguments])"/>
<property name="exitMessage" value="Leaving $[methodName](): $[returnValue]"/>
</bean>
<aop:config>
<aop:advisor advice-ref="customizableTraceInterceptor"
pointcut="execution(public * org.springframework.data.jpa.repository.JpaRepository+.*(..))"/>
</aop:config>
我希望使用Spring的JavaConfig样式来设置上述配置(即利用Java注释,特别是@EnableAspectJAutoProxy
来激活JavaConfig中的AspectJ)。
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(basePackages = { "some.package" })
@ComponentScan(basePackages = { "some.package2", "some.package3" })
@EnableAspectJAutoProxy
public class FacebookDomainConfiguration {
@Bean someBean() {
...
}
...
}
<aop:aspectj-autoproxy/>
是@EnableAspectJAutoProxy
风格的等效替代品,用于<aop:advisor advice-ref="customizableTraceInterceptor" ...>
。
CustomizableTraceInterceptor
似乎没有被触发。 - Guisong He