spring aop 是基於面向切面的程式設計,它能夠使得我們專注於我們的業務處理,將一些其他的東西由它來統一完成,程式的侵入性很小,所以被廣泛應用,至於實現原理我就不多說了,兩個字:"**"!
下面說說標題所示的應用,記錄日誌,什麼時候記錄日誌,都記錄什麼?想想,可不就是在呼叫方法的時候寫日誌嘛,之前如果使用logger的話,都會在方法的開始寫乙個logger.info("************");結束的時候再寫乙個,這不是很麻煩嗎,每次都要寫。實際上這個時候我們就可以用aop來做,當方法進入的時候寫一條日誌,結束的時候再寫一條,分別對應「前置通知」和」後置通知「,如果我們的日誌有新的寫法,只需要修改控制日誌的這個類,對程式沒有絲毫影響,也就談不上改動大量的**了。下面開始:
1.引入aop的命名空間(其中有aop的那部分):
2.書寫記錄日誌的類:
package com.yjck.fm.util;
import org.apache.log4j.logger;
import org.aspectj.lang.joinpoint;
public class logutil {
logger logger = logger.getlogger(logutil.class);
public void logall(joinpoint jp){
string methodname = jp.getsignature().getname();
logger.info(jp.gettarget().getclass().getname()+"---"+methodname);
object args = jp.getargs();
for(int i=0;i
上面這段**實現了輸出要呼叫的類名,方法已經引數。
3.配置xml檔案:
注意:我這裡配置的是攔截所有action的所有方法,可以根據自己的情況配置,同時也只配了乙個」前置通知「before,如果要需要還可以配置其他的。
ok,到此,實現已經完畢了!
基於Aspectj 註解實現 spring AOP
aop 面向切面程式設計,是 oop 物件導向程式設計 的補充 橫切關注點 方法中非主要業務邏輯部分 比如運算的模組 有驗證引數 執行方法前的操作 執行方法 執行方法後的操作,驗證引數 執行方法前後的操作是橫切關注點 比如許可權驗證模組 在執行增刪改查等方法前要進行驗證,主要業務邏輯其實是增刪改查,...
springmvc基於xml配置檔案
web.xml 配置檔案 mvc dispatcher org.springframework.web.servlet.dispatcherservlet contextconfiglocation classpath web inf conf spring servlet.xml 1 spring...
SpringCloudBus實現配置檔案動態更新
在springcloud之配置中心 config 的使用 的基礎上加上springcloudbus實現配置檔案動態更新 在此之前需要修改版本,否則會出現 endpoint id bus env contains invalid characters,please migrate to a valid...