springMvc利用AOP实现日志拦截切面功能配置问题 40C

1、个人搭建SSM框架想利用AOP完成日志拦截功能,主要是拦截controller层

2、springMvc配置如下:其中添加了对aspectj的注解支持
图片说明

3、spring的配置如下:
图片说明

4、pom,xml中配置了相应的依赖包
图片说明

5、注解拦截类如下:主要拦截controller,表达式已验证过绝队没有问题
图片说明

问题如下:tomcat启动不报错,一旦进行任何网页的访问,就会报错,提示是mvc的映射器创建失败,如图所示:图片说明

但若把springMvc中关于aspectj注解开启的那行代码删掉,则不会有任何报错问题存在,但是对controller的拦截无效

希望各位有经验的朋友帮忙解答下,谢谢!

0

2个回答

0
ai_bao_zi
咕噜是个大胖子 这个还有其他相关的博客文章都看过的,要拦截到controller层就必须在mvc的配置文件中开启注解支持,但是我这个一旦添加到mvc的配置文件,访问就会报错,若不加到mvc的配置文件,则可以拦截service,但是拦截不到controller,所以这就是我的问题,
10 个月之前 回复

终于找到问题了,pom文件中关于AOP的依赖jar包版本配置不对,我的spring版本是4.2.5

aspectjrt和aspectjweaver的版本最开始配置的是1.8.10,一直报错,

然后修改版本为1.8.7,在进行对应的访问处理,就没有任何报错了,可以实现拦截到controller的目的

    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>1.8.7</version>
    </dependency>
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjrt</artifactId>
        <version>1.8.7</version>
    </dependency>

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Spring MVC AOP通过自定义注解方式拦截Controller等实现日志管理
之前一直写.net,没玩过spring,一直没用过aop(面向切面编程)这类功能,当然不是说.net里面没有这类框架,企业库就可以微软企业库官网开始上代码:注解定义package com.jiankunking.common;import java.lang.annotation.*;/** * @author jiankunking * @Date: 2016/8/15 * @Time: 1
日志管理(spring AOP切面拦截)
**最近,在写日志管理的东西呢,用了几种方法试,还是拦截比较好用,直接截下来传入到数据库中存储。 写的时候,真是头疼啊,作为一个新手,要弄这个没有头绪的东西,从手足无措,到后来慢慢的习惯了加速敲代码,真是舒服!哈哈。 **哦~对了,忘了说了,不需要用到Dao层哦。** 首先,来一个POJO实体类吧,我看他们都是写的只有系统获取到的那些类名啊,方法啊什么的。我的有那么一点点的不同。** 本来呢...
使用springMVC AOP实现日记记录
1 . 配置springmvc驱动,以及包扫描,还有AOP配置,如下: 2 . 引入相关jar包 3 . 目录树 4 . 编写日记记录类 LogInterceptor.java package org.lee.Interceptor; import java.lang.reflect.Method;
spring aop切面编程实现操作日志步骤
https://www.cnblogs.com/nizuimeiabc1/p/7650898.html
shiro 的集成权限项目,利用SpringMVC aop 自动代理将系统必要监控操作写入数据库
1) 底层配置 通过配置织入@Aspectj切面 虽然可以通过编程的方式织入切面,但是一般情况下,我们还是使用spring的配置自动完成创建代理织入切面的工作。 通过aop命名空间的声明自动为spring容器中那些配置@aspectJ切面的bean创建代理,织入切面。当然,spring 在内部依旧采用AnnotationAwareAspectJAutoProxyCreator进行自动代理的...
springAOP面向切面编程之日志记录功能
关于AOP: 这种在运行时,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。面向切面编程(AOP是Aspect Oriented Program的首字母缩写) ,我们知道,面向对象的特点是继承、多态和封装。而封装就要求将功能分散到不同的对象中去,这在软件设计中往往称为职责分配。实际上也就是说,让不同的类设计不同的方法。这样代码就分散到一个个的类中去了。这样做的好处是降低了代
Spring MVC AOP通过注解方式拦截Controller等实现日志管理demo版本2
Spring MVC AOP通过注解方式拦截Controller等实现日志管理demo版本2
Spring Mvc AOP通过注解方式拦截controller等实现日志管理
Spring Mvc AOP通过注解方式拦截controller等实现日志管理
Spring aop切面编程实现log日志步骤
1、在spring-mvc.xml配置文件中打开切面开关:&amp;lt;aop:aspectj-autoproxy proxy-target-class=&quot;true&quot;/&amp;gt;注意:proxy-target-class属性值决定是基于接口的还是基于类的代理被创建。如果proxy-target-class 属性值被设置为true,那么基于类的代理将起作用(这时需要cglib库)。如果proxy-targe...
使用 aop拦截 springMVC的controller并获取请求参数及返回结果
有人说使用aop拦截不到springMVC的controller,一般出现此种情况大多是由于配置错误造成,不废话直接进入主题: 1、applicationContext.xml 配置扫描 除@controller外的bean 2、 applicationContext-mvc.xml 配置扫描 @controller bean
将aop(面向切面编程)函数,打包成jar包并拦截另一项目中的函数
1.写拦截函数(com.example.serverdemob.controller.*.test1(..)为所要拦截的另一项目中的函数) 2.打包成jar包 点击ok,然后在build工具栏里选择build artifacter,选择对应的jar包编译 3.在另一个项目里(所要拦截的函数所在项目)的resource文件夹下新建lib文件夹,并将jar包复制到lib中 ...
springaop切面日志实现
依赖:(应该是不用那么多jar包的)&amp;lt;!-- 日志jar包 --&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;log4j&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;log4j&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;1.2.16&amp;lt;/version&amp;gt; &amp;lt
使用SpringAOP切面实现对controller的拦截,并对url,参数和返回值记录
做这个功能之前 先讲一下AOP的环绕通知,因为这个功能我之前也想用springMVC的拦截器实现AOP的环绕通知、切面的优先级以及重用切入点定义一、环绕通知  环绕通知是所有通知类型中功能最为强大的, 能够全面地控制连接点. 甚至可以控制是否执行连接点.   对于环绕通知来说, 连接点的参数类型必须是 ProceedingJoinPoint . 它是 JoinPoint 的子接口, 允许控制何时执
SpringBoot面向切面编程AOP之日志拦截
在pom.xml下增加 &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;spring-boot-starter-aop&amp;lt;/artifactId&amp;gt; &amp;lt;/dependency&amp;g...
Spring mvc mybatis plus 实现AOP 切面日志系统
Spring mvc mybatis plus 实现AOP 切面日志系统,带有数据库。可以自行拓展
Spring AOP来自定义注解实现审计或日志记录
参考原文地址:https://blog.csdn.net/yang_lover/article/details/53037323 干货示例代码:https://blog.csdn.net/songzehao/article/details/90490023 AOP切面补充: 一、@Before,@After,@Around,@AfterReturning,@AfterThrowing执行顺序...
利用AOP实现日志切面统一处理
利用AOP实现日志切面统一处理最近很多业务日志需要优化改进,实现对业务更好的监控和优化。下面介绍利用Spring Aop实现面向切面编程的一个实例。能够实现不改动原有代码逻辑,只加一行描述即可实现统一日志收集。实现思路定义两个注解类,分别给service类和controller类使用,然后使用切面类,对这两个注解进行绑定监控。 可以达到效果就是,只需要在我们想要监控的敏感方法增加一行代码注解,相当
swagger和spring Aop日志结合
swagger和spring Aop日志结合 ,swagger和spring Aop日志结合 ,swagger和spring Aop日志结合 ,
使用Aop面向切面技术实现记录详细操作日志功能
package com.jjznkj.oa.advice; import java.lang.reflect.Method; import java.net.InetAddress; import java.util.Date; import org.apache.struts2.ServletActionContext; import org.aspectj.lang.
OSGI 环境下的 AOP 日志记录 DEMO 制作过程
OSGI 环境下 AOP DEMO实现
spring aop 测试 切面拦截没有作用
在做aop测试的时候  发现pointcut 没有效果,之后查了一下  发现了问题   如果使用了spring mvc后,如果把&amp;lt;aop:aspectj-autoproxy proxy-target-class=&quot;true&quot;/&amp;gt;放在application.xml文件中可能会aop无效,最好把它放在dispatcher-servlet.xml文件中   &amp;lt;?xml ver...
个人项目开发——springMVC使用AOP实现访问日志的管理
一、说明      近期,心中萌发了做一个个人网站的想法,来一场说走就走的编程之旅。说做就做,在项目框架搭建(SpringMVC+mybatis+mysql)好了之后,开始考虑项目中日志的设计。经过考虑并结合网上的资料,决定采用注解的方式来记录访问日志。当然,目前的日志设计还不够完美,后期会在开发的过程中逐渐完善。 二、实现 2.1 关于AOP及相关注解         相对于AOP,有很...
spring使用AOP技术对DAO层操作进行增强功能
AOP的概述1. 什么是AOP的技术? * 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程 * AOP是一种编程范式,隶属于软工范畴,指导开发者如何组织程序结构 * AOP最早由AOP联盟的组织提出的,制定了一套规范.Spring将AOP思想引入到框架中,必须遵守AOP联盟的规范 * 通过预编译方式和运行期动态代理实
SpringAOP拦截Controller,Service实现日志管理(自定义注解的方式)
首先我们为什么需要做日志管理,在现实的上线中我们经常会遇到系统出现异常或者问题。这个时候就马上打开CRT或者SSH连上服务器拿日子来分析。受网络的各种限制。于是我们就想为什么不能直接在管理后台查看报错的信息呢。于是日志管理就出现了。          其次个人觉得做日志管理最好的是Aop,有的人也喜欢用拦截器。都可以,在此我重点介绍我的实现方式。          Aop有的人说拦截不到Con
Logback+AOP 小试日志处理
    这几天用了用Logback感觉挺爽的,性能上比log4j 1改善了不少performance(据说前些天出来的log4j 2 又相对于Logback在performance上又提升了不少),而且功能还是很强大的。    提到Logback就不得不了解SLF4j(Sample Logging Facade for java) Java简单的日志门面,从它的命名我们不难看出它是一个通用的...
Spring AOP与log4j做简单的异常日志处理
1.在网上看了不少例子,下面自己实践了一下。由于系统开发的时候忘记了对异常的日志处理,所以现在考虑加上,经过考虑决定使用spring的aop与log4j来做,这样做的好处就是我不用在每个类里面try{}catch或者抛出异常。因为类已经写了好多好多了。要是一个一个弄工作量是很大的 :cry: 。 下面说下简单的实现过程,首先啊,在项目工程中的src目录中加入log4j.properties,内容...
利用SpringMVC的AOP来实现后台系统的操作日志记录
最近在项目中要求把后台的一些关键操作记录下来,想了好半天能想到的也就那两三种方式,要么就是写一个拦截器,然后再web.xml里面进行配置,要么就是就是在每个需要记录操作日志的代码里面进行拦截,最后我选择了第三种,也就是基于AOP的拦截,用这种方式,只需要在需记录操作的接口方法上,添加上自定义注解就好了。其实在项目开发里面真正用到AOP感觉不是很多,我也一样很少就没有怎么用到。刚好这次碰见了,就记录...
springmvc 通过aop方式进行登录控制
springmvc 通过aop方式进行登录控制 登录控制,大体上的流程就是登陆的时候,在HttpSession中存放本次登录的用户名和密码。然后在进行每次页面跳转和后台请求的时候需要判断Session中是否有这个用户名和密码,如果有,说明用户在本浏览器上登录过,能够进行继续的操作,后台能够返回数据,支持页面跳转。如果没有登录,那么直接跳转到登录页面。 一开始,想使用filter或者listen
Spring AOP拦截Service实现日志管理(自定义注解的方式)
最近项目中用到AOP方式进行Service操作方法日志管理,特为之记! 1、先说理论和采用的方法 采用注解的方式,其中包括以下注解:@Aspect(类注解)和@AfterReturning(方法注解),其中需要用的Maven库如下: "org.aspectj:aspectjrt:1.8.9", "org.aspectj:aspectjweaver:1.8.9", org.spring
spring aop切面拦截指定类和方法实现流程日志跟踪
spring aop切面拦截指定类和方法实现流程日志跟踪 一般情况下,在不侵入业务代码的情况下,需要做流程日志跟踪是比较合理的 采用springaop切面思想
SpringAOP实现拦截Controller请求参数并输出到日志
一、实现的效果请求:http://localhost:8080/regist?username=king&amp;age=12&amp;password=123456Controller:@RestController public class UserController { @RequestMapping(&quot;/regist&quot;) public Apiresult userRegister(@Mode
Structs2+Spring实现aop日志与问题解决
struct2+spring实现sop日志与问题解决
记一次springmvc的aop功能的实现-添加日志功能
这次是做一个日志的功能,废话不多说,详细配置与代码如下 1、首先写一个切面的记录日志的功能,包括before,after,afterReturning,around,afterThrowing的各种import java.util.Arrays;import java.util.Date;import java.util.List;import javax.servlet.http.HttpSer...
Spring-Aop切面+自定义注解将日志记录存储到数据库
SpringAop切面+自定义注解实现日志记录   在之前的SpringAop当中,实现了对service层的方法定义了切入点,从而在执行service层的方法的时候会自动加入事务,而这些操作,都是在配置文件当中去实现的;   在这篇博文当中,会一不同的方式来实现日志事务的添加,用的式注解的方式,而且切入点和事务都是一起定义在切面类当中的;   首先来说明一些概念:   Sprin...
AOP实现Controller日志输出,返回结果
因为经常要给别人写一些接口,查询已发生的问题,如果日志记录的不清楚,难以找到问题,所以想做个东西,把别人请求的东西和接口响应后的结果在info日志中记录,经过尝试很多方法才达到目的,做一下记录,以便查找。 拦截器方式: 拦截器可以截取到很多信息,但是对于Controller的返回信息有限制,如果结果放在ModelAndView中,可以取到;如果是@ResponseBody的结果,没有找到方法...
Spring Boot 使用AOP切面实现后台日志管理模块
设计原则和思路: 元注解方式结合AOP,灵活记录操作日志 能够记录详细错误日志为运维提供支持 日志记录尽可能减少性能影响 1.定义日志记录元注解 2.定义用于记录日志的实体类 import java.io.Serializable; import com.leon.common.util.StringUtils; import com.fasterxml.jackson.ann...
Spring+SpringMVC+Mybatis 利用AOP自定义注解实现可配置日
目的: 需要对一些事物的操作进行日志记录,如果在service内进行记录,大量的代码重复,并且维护比较麻烦。所以采用AOP的方式对service进行拦截。使用自定义注解的目的则是判断是否需要记录日志和传递额外的信息。 方式 本次解决方案十分感谢博主-跳刀的兔子的博文 本文绝大部分参考与本文,略有不同,所以做一些整理,博主的文章更详细一些。 1.首先新建自定义注解
利用spring aop拦截并获取@ResponseBody数据
拦截请求有很多种方法,最简单的用拦截器,但是拦截器并不能获取返回的数据(比如@ResponseBody),上网找了一段时间,可以利用spring的AOP特性拦截并获取,还能修改返回的数据。 准备 &lt;dependency&gt; &lt;groupId&gt;org.aspectj&lt;/groupId&gt; &lt;artifactId&gt;aspectjrt&lt;/artifactId&gt; &lt;version&gt;1.8.9&lt;/ve
Spring AOP 基于注解实现日志记录+自定义注解
一、写一个自定义注解        注解中包括配置方法所在模块名称,以及功能名称,当然我们在注解里可以自定义。import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotati...
Spring aop拦截springmvc的controller请求方法,添加日志和统计方法执行时间
前言 系统最近莫名挂了三次,查看log日志没找到原因,因为只有少数功能日志输出,大部分功能都没记录日志。打算通过spring aop来给springmvc的controller层的方法加日志,进入方法,方法执行完都记录日志,同时记录方法执行的耗时。日志输出级别为debug,通过log4j的分级别输出日志到不同的文件,下面记录下aop拦截的步骤。 1.applicationContext.xml...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 利用数据库建课程表 云计算的功能