java - Controller 中所有方法的 Spring AOP 切入点

标签 java spring spring-mvc spring-aop pointcut

我想在 Spring (3.2.3) @Controller 中的每个方法之前运行一些代码。我定义了以下但它不会运行。我怀疑切入点表达式不正确。

调度器-servlet.xml

<aop:aspectj-autoproxy/>
<bean class="com.example.web.controllers.ThingAspect"/>

c.e.w.c.ThingAspect

@Pointcut("execution(com.example.web.controllers.ThingController.*(..))")
public void thing() {
}

@Before("thing()")
public void doStuffBeforeThing(JoinPoint joinPoint) {
    // do stuff here
}

最佳答案

您的切入点表达式缺少返回类型,例如 voidString*,例如

execution(* com.example.web.controllers.ThingController.*(..))

关于java - Controller 中所有方法的 Spring AOP 切入点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23607872/

相关文章:

java - Tab 键无法为 JTable 转移焦点

java - 如何使用TermsAggregationBuilder和QueryBuilders禁用ElasticSearch查询中默认字段的自动生成

嵌套对象的 Spring 数据休息查询

java - 将 JDBCConnection 转换为 OracleConnection 时出错

java - 如何摆脱 <mvc :annotation-driven/>?

java - 我将如何移动我的蓝色条形图像以覆盖所有灰色区域?

java - 如何格式化像#.#.#.#这样的字符串

java - Spring Batch 中日期和双字段的 FlatFileParseException

javascript - 即使在响应代码 200 之后 Backbone 同步错误

java - JPA 和 Hibernate 在使用 JSON 的 Spring Rest 中第一次尝试时不会更新一对多关系