我的项目基于spring框架2.5.4。我尝试为一些控制器添加方面(我使用 aspectj 1.5.3)。
我在 application-servlet.xml 中启用了自动代理,只需将这些行粘贴到 xml 文件的末尾:
<aop:aspectj-autoproxy />
<bean id="auditLogProcessor" class="com.example.bg.web.utils.AuditLogProcessor" />
创建方面:
package com.example.bg.web.utils;
import org.apache.log4j.Logger;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
@Aspect
public class AuditLogProcessor
{
private final static Logger log = Logger.getLogger(AuditLogProcessor.class);
@After("execution(* com.example.bg.web.controllers.assets.AssetThumbnailRebuildController.rebuildThumbnail(..))")
public void afterHandleRequest() {
log.info("test111");
}
@After("execution(* com.example.bg.web.controllers.assets.AssetThumbnailRebuildController.rebuildThumbnail(..))")
public void afterRebuildThumbnail() {
log.info("test222");
}
}
我的控制器:
class AssetAddController implements Controller
class AssetThumbnailRebuildController extends MultiActionController
当我在方面顾问中设置刹车点并调用控制器时,我只捕获 afterHandleRequest() 而不是 afterRebildThumbnail() 我做错了什么?
笔记
我代表无法访问 SO Beta 的朋友提出这个问题,但我不知道这是怎么回事。
编辑
确实有一些拼写错误,感谢 Cheekysoft。但问题仍然存在。