我试图在ModelAndView.setViewName之后使用PointCut执行一些post操作,但似乎从来没有触发过:
@Aspect
@Component
public class TestAspect {
private Logger logger = LoggerFactory.getLogger(this.getClass());
@Pointcut("execution(* org.springframework.web.servlet.ModelAndView.*(..))")
public void testPointCut() {
}
@After("testPointCut()")
public void afterPointCut(JoinPoint joinPoint) {
logger.debug("afterPointCut");
}
}如果我将execution部件更改为我自己的某个类,这个point cut就会起作用。
那么,向ModelAndView添加PointCut的正确方法是什么呢
发布于 2019-05-02 12:08:18
我不是Spring用户,但我对Spring AOP的了解是,您只能将其应用于Spring组件。类ModelAndView不是从任何Spring核心组件类派生出来的,也不是由任何使其具有这样的注解的东西来注释的,它是一个简单的POJO。因此,您不能以Spring AOP切入点为目标。您更应该针对Spring AOP可及范围内的内容。
另一种选择是打开大炮,使用完全的Spring (加载时编织),这并不限于AspectJ组件。
https://stackoverflow.com/questions/55916600
复制相似问题