从单元测试或通过独立应用程序运行时,我有一个方面可以正常工作.但是,当我将其作为Web应用程序的一部分运行并将其托管在Tomcat上时,不应用Aspects.
我的长相看起来像
public class MyAspect {
@Around("within(com.service..*)")
public Object doLogging(ProceedingJoinPoint pjp) throws Throwable {
//do something
Object obj = pjp.proceed();
//do something else
return obj;
}
}
解决方法:
我能够解决这个问题.原因是该方面是通过Web应用程序上下文而不是全局应用程序上下文进行处理的,因此我必须重新构造两件事.我已经详细说明了步骤here
@seanizer Spring确实支持.的确,它仅适用于方法,并且在其中将适用于com.service的所有程序包和子程序包的方法.有关详细信息,请参见参考文档here