Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在单个方法中应用Spring AOP_Java_Spring_Spring Mvc_Spring Aop - Fatal编程技术网

Java 如何在单个方法中应用Spring AOP

Java 如何在单个方法中应用Spring AOP,java,spring,spring-mvc,spring-aop,Java,Spring,Spring Mvc,Spring Aop,实际上,我在一个SpringMVC项目中工作,我在我的项目中成功地应用和配置了SpringAOP,但我想在单个方法上应用SpringAOP,比如我想检查其工作与否的方法 这是我的方面代码: @Pointcut("execution(* com.xyz.dao..*.*(..))") public void generalPointCut() { } @Before("generalPointCut()") public void logBefore(JoinPo

实际上,我在一个SpringMVC项目中工作,我在我的项目中成功地应用和配置了SpringAOP,但我想在单个方法上应用SpringAOP,比如我想检查其工作与否的方法

这是我的方面代码:

   @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);
}
(评论后的后续行动)

您可以在切入点执行表达式中任意精确。例如,如果您希望在方法名称(包括返回类型和args签名)方面具有超特定性,它将如下所示:

@Pointcut("execution(public String com.xyz.dao.findMyEntity(Long))")

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


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

我知道它适用于com.xyz.dao。包和子包但是如果我不想在这个包中使用一些方法,那么我应该怎么做?修改后的答案添加一个例子如果你觉得这个答案有用,你可以投票/接受它