Spring MVC项目中log4J和AOP使用详解
作者:日生三金 时间:2022-11-16 08:36:29
前言
日志处理是每个项目当中一个非常重要的内容。没有了日志,也就失去了对系统的可控性。没有日志,系统出现任何问题,都会没有踪迹可寻,这对一个信息系统而言是非常危险的。
项目中需要将service中的类方法的调用过程,使用log4j日志记录。
service中的类和方法都很多,不可能在每个类中单独添加log4j日志记录的功能,因此我们在这里使用AOP的思想进行横向切面。
以service类中的方法为切入点,通过AOP在方法调用前后使用log4j输出日志,内容包括正在调用的类和方法名。
在配置过程中,笔者碰到了一些或大或小的细节上的问题,在此作为记录。
首先是AOP的配置上,我们有两种选择,一是通过XML配置,二是通过注解。
XML配置可以通过以下示例:
XML配置
则对应的Aspect方法可以不用使用@Aspect、@Before和@After注解。
如果使用注解方式,则在XML配置文件中,只需要一行配置,开启自动代理功能即可:
自动代理
此时,对应的Aspect方法可以如下示例:
其次,是Spring配置文件所属域上的坑,在这里配置的AOP的XML文件,如果需要成功执行,需要在
web.xml文件中,将此XML配置文件加入到Servlet-Context中,而不是Spring-Context中,示例如下:
全局context
上图是配置全局的spring上下文,但是aop配置文件在这里不能成功。
我们需要把aop的配置加载,放在servlet的初始化上下文中。
最后,我们运行工程,使用该方法,查看AOP结果:
来源:http://www.jianshu.com/p/6812ec44a7a2
标签:springmvc,aop,log4j
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
利用json2POJO with Lombok 插件自动生成java类的操作
2023-07-12 09:31:28
![](https://img.aspxhome.com/file/2023/8/69718_0s.jpg)
利用java开发简易版扫雷游戏
2023-11-07 14:35:15
![](https://img.aspxhome.com/file/2023/9/63489_0s.png)
java8使用filter()取出自己所需数据
2023-04-07 02:30:37
![](https://img.aspxhome.com/file/2023/9/71619_0s.png)
Android树形控件绘制方法
2022-09-05 01:50:55
![](https://img.aspxhome.com/file/2023/3/89543_0s.jpg)
java面试常见模式问题---单例模式
2022-11-29 09:12:28
JavaApi实现更新删除及读取节点
2023-11-10 07:30:33
![](https://img.aspxhome.com/file/2023/7/59037_0s.png)
Winform利用分页控件实现导出PDF文档功能
2023-08-11 10:15:04
![](https://img.aspxhome.com/file/2023/6/126036_0s.png)
C# 利用代理爬虫网页的实现方法
2023-02-26 18:51:43
JavaFx UI控件与代码间的绑定方法
2021-09-13 00:40:27
SpringMVC中MultipartFile上传获取图片的宽度和高度详解
2023-01-30 20:43:19
Mybatis无法获取带有下划线前缀的字段的值问题
2023-07-20 10:06:33
![](https://img.aspxhome.com/file/2023/3/62173_0s.png)
浅谈HTTP使用BASIC认证的原理及实现方法
2021-07-18 01:36:16
AndroidStudio3.6.1打包jar及AndroidStudio4.0打包jar的一系列问题及用法
2021-09-05 14:34:33
![](https://img.aspxhome.com/file/2023/0/126740_0s.png)
android实现九宫格程序
2023-02-16 16:30:53
![](https://img.aspxhome.com/file/2023/7/139507_0s.gif)
SpringBoot上传临时文件被删除引起报错的解决
2022-05-28 23:46:24
![](https://img.aspxhome.com/file/2023/6/74886_0s.jpg)
Android异步下载图片并且缓存图片到本地DEMO详解
2022-10-27 14:16:17
![](https://img.aspxhome.com/file/2023/5/90165_0s.png)
Java如何实现List自定义排序
2021-07-03 06:09:15
C#高级静态语言效率利器之泛型详解
2023-01-24 09:18:02
SpringBoot 自定义+动态切换数据源教程
2021-10-13 21:30:39
![](https://img.aspxhome.com/file/2023/9/92649_0s.png)
C++基础概念讲述
2022-10-31 16:56:05
![](https://img.aspxhome.com/file/2023/3/114943_0s.png)