在 Spring 中自定义监听某个方法,可以使用 Spring 的 AOP(面向切面编程)功能来实现。
具体步骤如下:
在项目中引入 AOP 相关依赖,如 spring-aop。
在配置文件中启用 AOP 功能,可以在 XML 配置文件中添加以下代码:
<aop:aspectj-autoproxy />
或者在 Java 配置类中添加以下注解:
@EnableAspectJAutoProxy
创建切面类。切面类是一个普通的 Java 类,用于定义切入点和通知。切入点是定义在切面类中的方法,用于匹配执行的方法,而通知是切面类中的其他方法,用于在匹配的方法执行前或执行后执行的代码。
在切面类中定义切入点。切入点可以使用 @Pointcut 注解定义,并使用表达式来指定匹配的方法。例如,可以使用以下代码来匹配所有带有 @MyAnnotation 注解的方法:
@Pointcut("@annotation(com.example.MyAnnotation)") public void myAnnotationPointcut() {}
在切面类中定义通知。通知可以使用 @Before、@After、@Around 等注解定义,并使用切入点来指定匹配的方法。例如,可以使用以下代码来在匹配的方法执行前打印日志