溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Spring MVC項目中l(wèi)og4J和AOP使用詳解

發(fā)布時間:2020-09-14 17:00:31 來源:腳本之家 閱讀:358 作者:日生三金 欄目:編程語言

前言

日志處理是每個項目當中一個非常重要的內(nèi)容。沒有了日志,也就失去了對系統(tǒng)的可控性。沒有日志,系統(tǒng)出現(xiàn)任何問題,都會沒有蹤跡可尋,這對一個信息系統(tǒng)而言是非常危險的。

項目中需要將service中的類方法的調(diào)用過程,使用log4j日志記錄。

service中的類和方法都很多,不可能在每個類中單獨添加log4j日志記錄的功能,因此我們在這里使用AOP的思想進行橫向切面。

以service類中的方法為切入點,通過AOP在方法調(diào)用前后使用log4j輸出日志,內(nèi)容包括正在調(diào)用的類和方法名。

在配置過程中,筆者碰到了一些或大或小的細節(jié)上的問題,在此作為記錄。

首先是AOP的配置上,我們有兩種選擇,一是通過XML配置,二是通過注解。

XML配置可以通過以下示例:

Spring MVC項目中l(wèi)og4J和AOP使用詳解

XML配置

則對應(yīng)的Aspect方法可以不用使用@Aspect、@Before和@After注解。

如果使用注解方式,則在XML配置文件中,只需要一行配置,開啟自動代理功能即可:

Spring MVC項目中l(wèi)og4J和AOP使用詳解

自動代理

此時,對應(yīng)的Aspect方法可以如下示例:

Spring MVC項目中l(wèi)og4J和AOP使用詳解
Aspect1

其次,是Spring配置文件所屬域上的坑,在這里配置的AOP的XML文件,如果需要成功執(zhí)行,需要在

web.xml文件中,將此XML配置文件加入到Servlet-Context中,而不是Spring-Context中,示例如下:

Spring MVC項目中l(wèi)og4J和AOP使用詳解
全局context

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

Spring MVC項目中l(wèi)og4J和AOP使用詳解
Servlet的context

我們需要把aop的配置加載,放在servlet的初始化上下文中。

最后,我們運行工程,使用該方法,查看AOP結(jié)果:

Spring MVC項目中l(wèi)og4J和AOP使用詳解
結(jié)果

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI