Spring MVC項(xiàng)目中l(wèi)og4J和AOP使用詳解
前言
日志處理是每個(gè)項(xiàng)目當(dāng)中一個(gè)非常重要的內(nèi)容。沒(méi)有了日志,也就失去了對(duì)系統(tǒng)的可控性。沒(méi)有日志,系統(tǒng)出現(xiàn)任何問(wèn)題,都會(huì)沒(méi)有蹤跡可尋,這對(duì)一個(gè)信息系統(tǒng)而言是非常危險(xiǎn)的。
項(xiàng)目中需要將service中的類方法的調(diào)用過(guò)程,使用log4j日志記錄。
service中的類和方法都很多,不可能在每個(gè)類中單獨(dú)添加log4j日志記錄的功能,因此我們?cè)谶@里使用AOP的思想進(jìn)行橫向切面。
以service類中的方法為切入點(diǎn),通過(guò)AOP在方法調(diào)用前后使用log4j輸出日志,內(nèi)容包括正在調(diào)用的類和方法名。
在配置過(guò)程中,筆者碰到了一些或大或小的細(xì)節(jié)上的問(wèn)題,在此作為記錄。
首先是AOP的配置上,我們有兩種選擇,一是通過(guò)XML配置,二是通過(guò)注解。
XML配置可以通過(guò)以下示例:

XML配置
則對(duì)應(yīng)的Aspect方法可以不用使用@Aspect、@Before和@After注解。
如果使用注解方式,則在XML配置文件中,只需要一行配置,開(kāi)啟自動(dòng)代理功能即可:

自動(dòng)代理
此時(shí),對(duì)應(yīng)的Aspect方法可以如下示例:

Aspect1
其次,是Spring配置文件所屬域上的坑,在這里配置的AOP的XML文件,如果需要成功執(zhí)行,需要在
web.xml文件中,將此XML配置文件加入到Servlet-Context中,而不是Spring-Context中,示例如下:

全局context
上圖是配置全局的spring上下文,但是aop配置文件在這里不能成功。

Servlet的context
我們需要把a(bǔ)op的配置加載,放在servlet的初始化上下文中。
最后,我們運(yùn)行工程,使用該方法,查看AOP結(jié)果:

結(jié)果
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
如何使用Spring RestTemplate訪問(wèn)restful服務(wù)
這篇文章主要介紹了如何使用Spring RestTemplate訪問(wèn)restful服務(wù),詳細(xì)的介紹了什么是RestTemplate以及簡(jiǎn)單實(shí)現(xiàn),非常具有實(shí)用價(jià)值,需要的朋友可以參考下2018-10-10
關(guān)于Spring?Cloud實(shí)現(xiàn)日志管理模塊
這篇文章主要介紹了關(guān)于Spring?Cloud實(shí)現(xiàn)日志管理模塊問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
SpringBoot3快速整合MyBatisPlus的示例代碼
本文介紹了快速整合MyBatis-Plus到Spring Boot 3項(xiàng)目中,包括依賴引入、代碼生成器使用等,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12
springboot中使用@NotNull注解無(wú)效解決方法
這篇文章主要給大家介紹了關(guān)于springboot中使用@NotNull注解無(wú)效的解決方法,進(jìn)行參數(shù)校驗(yàn)的時(shí)候,加了@NotNull注解,@Validated注解和@Valid注解,但是參數(shù)校驗(yàn)的時(shí)候不生效,需要的朋友可以參考下2023-08-08
Spring源碼剖析之Spring處理循環(huán)依賴的問(wèn)題
大家都知道循環(huán)依賴依賴指的是Bean與Bean之間的依賴關(guān)系,循環(huán)依賴指的是兩個(gè)或者多個(gè)Bean相互依賴,本文通過(guò)代碼示例給大家講解Spring處理循環(huán)依賴的問(wèn)題,感興趣的朋友一起看看吧2021-06-06

