gpt4 book ai didi

java - 如何在各个方法中应用 Spring AOP

转载 作者:行者123 更新时间:2023-12-02 12:22:48 25 4
gpt4 key购买 nike

实际上,我正在一个 Spring MVC 项目中工作,并且我在项目中成功应用和配置了 Spring AOP,但我想将 Spring AOP 应用于各个方法,例如我想检查哪个方法是否有效。

这是我的方面代码:

   @Pointcut("execution(* com.xyz.dao..*.*(..))")
public void generalPointCut() {

}
@Before("generalPointCut()")
public void logBefore(JoinPoint joinpoint) {
Object clazz = joinpoint.getTarget().getClass().getName();
String methodName = joinpoint.getSignature().getName();
log.info("Entring in Method" + methodName + " in Calss " + clazz);
}

最佳答案

(评论后跟进)

您可以在切入点执行表达式中达到您想要的精确度。例如,如果您想在方法名称(包括返回类型和参数签名)方面非常具体,那么它看起来像这样:

@Pointcut("execution(public String com.xyz.dao.findMyEntity(Long))")
<小时/>

Take a look at the execution pointcut expression examples in the Spring Documetation .

您已经通过使用 * 作为通配符来拦截 com.xyz.dao 包和子包中的所有方法/类。

正如您将在示例中看到的,您可以深入到方法名称级别。

关于java - 如何在各个方法中应用 Spring AOP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45649067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com