加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 搜索优化 > 正文

aop页面在controller里面并不适用

发布时间:2022-06-08 15:24:11 所属栏目:搜索优化 来源:互联网
导读:今天发现aop不能在controller里面不能用,换成service能用,用junit-test也行,就是放到tomcat下面不行,我就纳闷了!!! package com.tutor.normal.filter;import javax.annotation.Resource;import org.aspectj.lang.ProceedingJoinPoint;import org.as
  今天发现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 *  [email protected] 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这个里面。

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读