背景:
从公司的项目中抽出了一个springboot + mybaties框架,学着已有的框架写了一个AOP切面类,ControllerAspect,用来输出进入指定controller包下所有控制器的请求信息,并将其打印到日志中。但程序运行后,发现这个切面没法织入,没法监听到目标控制器。
结构:
代码:
ControllerAspect
/**
* 实现Web层的日志切面
* @author qzj
* @version v0.0.1-SNAPSHOT
*/
@Aspect
@Component
public class ControllerAspect {
private Logger logger = LoggerFactory.getLogger(this.getClass());
/**
* 定义一个切入点.
* 解释下:
*
* ~ 第一个 * 代表任意修饰符及任意返回值.
* ~ 第二个 * 任意包名
* ~ 第三个 * 代表任意方法.
* ~ 第四个 * 定义在web包或者子包
* ~ 第五个 * 任意方法
* ~ .. 匹配任意数量的参数.
*/
@Pointcut("execution(* com.zjqiu.pwdmng.controller.system.*.*(.