SpringMVC中配aop拦截不生效,咋回事
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringMVC中配aop拦截不生效,咋回事相关的知识,希望对你有一定的参考价值。
可能和spring版本有关系,我的是spring4.x,之前也遇到。首先我的aop切面类文件路径有问题,后来移到了logic下的util包中;
<aop:aspectj-autoproxy proxy-target-class="true"/>
放在spring-mvc.xml中即可。
附上拦截controller的类:
package com.ts.bg.logic.util;
import javax.servlet.http.HttpServletRequest;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.stereotype.Component;
@Component
@Aspect
public class IndexAopUtil
//设置切入点,匹配所有controller的toIndex方法
public static final String INDEX_LIST_INIT="execution(* com.ts.bg.controller.*.toIndex(..))";
@Around(INDEX_LIST_INIT)
public Object index_list_init(ProceedingJoinPoint joinPoint) throws Throwable
Object object =null;
Object[] args = joinPoint.getArgs();
if(args!=null)
HttpServletRequest request=(HttpServletRequest) args[0];
object=joinPoint.proceed();
//设置菜单编号
request.setAttribute("menuCode", request.getParameter("menuCode"));
return object;
该类的意义:拦截所有controller目录下的controller中的toIndex方法。
网上有说controller类拦截不到,用其他方式,我试过了,不行。 参考技术A 首先确认aop切面类文件路径有没有问题,后来移到了logic下的util包中;
<aop:aspectj-autoproxy proxy-target-class="true"/>
放在spring-mvc.xml中即可。
附上拦截controller的类:
package com.ts.bg.logic.util;
import javax.servlet.http.HttpServletRequest;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.stereotype.Component;
@Component
@Aspect
public class IndexAopUtil
//设置切入点,匹配所有controller的toIndex方法
public static final String INDEX_LIST_INIT="execution(* com.ts.bg.controller.*.toIndex(..))";
@Around(INDEX_LIST_INIT)
public Object index_list_init(ProceedingJoinPoint joinPoint) throws Throwable
Object object =null;
Object[] args = joinPoint.getArgs();
if(args!=null)
HttpServletRequest request=(HttpServletRequest) args[0];
object=joinPoint.proceed();
//设置菜单编号
request.setAttribute("menuCode", request.getParameter("menuCode"));
return object;
该类的意义:拦截所有controller目录下的controller中的toIndex方法。
网上有说controller类拦截不到,用其他方式,我试过了,不行。
可能和spring版本有关系,我的是spring4.x。
刚更新WIN11电脑就卡死咋回事?
Win11系统很不稳定,BUG很多,建议用以下方法回退到早期版本。进入设置界面→Windows Update→以前版本的Windows→返回→随便选择一个原因,点击下一步→检查更新,点击“不,谢谢”→下一页→下一页→回退到早期版本。
如果不习惯使用WIN11系统,也可以用驱动人生的重装系统功能回到Win10系统。 参考技术A 您可以尝试清理磁盘空间。大多数情况下,您可以在等待一段时间后继续升级。 参考技术B 应该是WIN11系统刚推出不稳定,建议等优化。
——回答来自河南新华电脑学院 参考技术C 我只能说做小白鼠的代价吧。Win11还不稳定。不用追新。
以上是关于SpringMVC中配aop拦截不生效,咋回事的主要内容,如果未能解决你的问题,请参考以下文章
springmvc里面自定义注解实现aop,controller层里面注解一直不生效,但是注解放在service层又可以??