aop页面在controller里面不适用_html/css_WEB-ITnose

html教程评论236 views阅读模式

问题如下

今天发现aop不能在controller里面不能用,换成service能用,用junit-test也行,就是放到tomcat下面不行,我就纳闷了!!!

package com.tutor.normal.filter;import javax.annotation.Resource;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.After;import org.aspectj.lang.annotation.AfterReturning;import org.aspectj.lang.annotation.AfterThrowing;import org.aspectj.lang.annotation.Around;import org.aspectj.lang.annotation.Aspect;import org.aspectj.lang.annotation.Before;import org.aspectj.lang.annotation.Pointcut;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import com.tutor.normal.service.ITutorUserService;/** *  * @author jinghao.liang *  */@Aspectpublic class TutorLoginAop {    private static Logger log = LoggerFactory.getLogger(TutorLoginAop.class);    @Resource(name = "tutorUserService")    private ITutorUserService tutorUserService;    @Pointcut("execution(* com.tutor.normal.controller..*.*(..))")    private void anyMethod() {    }// 定义一个切入点    @Before("anyMethod() && args(name)")    public void doAccessCheck(String name) {        System.out.println(name);        System.out.println("前置通知");    }    @AfterReturning("anyMethod()")    public void doAfter() {        System.out.println("后置通知");    }    @After("anyMethod()")    public void after() {        System.out.println("最终通知");    }    @AfterThrowing("anyMethod()")    public void doAfterThrow() {        System.out.println("例外通知");    }    @Around("anyMethod()")    public Object doBasicProfiling(ProceedingJoinPoint pjp) throws Throwable {        System.out.println("进入环绕通知");        Object object = pjp.proceed();// 执行该方法        System.out.println("退出方法");        return object;    }}

spring配置,加上这两个

    
          
 

尼玛吖,明明和网上的一样吖,到底什么情况

经过一天的排查终于找到问题了,原来是spring的配置应该写到springMVC里,而不是spring里面

什么意思呢?看我web.xml的配置

     
         
  
   contextConfigLocation
          
  
   classpath*:spring/applicationContext.xml
      
     
     
         
  
   springMVC
          
  
   org.springframework.web.servlet.DispatcherServlet
          
   
   
    contextConfigLocation
    
   
    classpath:spring/spring-servlet.xml
    
          
  
   1
      
     
         
  
   springMVC
          
  
   /
      
 

原来我把配置写到了applicationContext.xml里面当然不行啦TVT,要写到spring-servlet.xml这个里面。。。

企鹅博客
  • 本文由 发表于 2020年9月13日 02:30:19
  • 转载请务必保留本文链接:https://www.qieseo.com/370261.html

发表评论