spring aop註解與xml配置兩種方式

2021-09-14 08:40:14 字數 1851 閱讀 8819

spring aop切面兩種使用方式:

1.使用xml配置檔案的方式,個人感覺**比較清晰,能夠體現出明顯的層次感

//以上部分為spring容器建立後管理的bean

//以下為開啟aop的相關配置

junit 測試

@runwith(springjunit4classrunner.class)

@contextconfiguration(locations="classpath:springs.xml")

public class te

}

註解方式放棄了.xml檔案,context載入採用了實體類的方式

@configuration

@conmpnentscan註解應用於實體類上,建立容器時使用

@configuration

@componentscan(basepackages="com.neuedu.spring")

接下來建立元件類,通過容器類掃瞄@conponent

@component

public class paymanager

}

然後是定義切面類

這是配置的重災區,相比較還是覺得.xml檔案清晰一些

@aspect

@component

@enableaspectjautoproxy//開啟切面自動**

public class logaspect

//@after("execution(* com.neuedu.spring.aoe.*.*(..))")

public void after()

//@around(pointcut)

public void around(proceedingjoinpoint jp) throws throwable //連線點被切入的方法

//@afterthrowing(pointcut)

public void exception(exception ex)

//@afterreturning(pointcut)//after執行過程忽略異常執行到底,affterrunning 遇到異常停止執行

public void affterreturnning()

}

最後是測試類

@runwith(springjunit4classrunner.class)

public class springaoptest

}

前半部分利用容器掃瞄建立bean物件,感覺這樣比較簡單.採用的@compoent(「pojo名字/可省略預設名字為類名小寫」),後半部分對於aop的管理採用xml配置的方式.

下面是切面:
@component("aop")

public class aop

}

下面是切點
@component(value="cut")

public class springcut

}

最後是測試
@runwith(springjunit4classrunner.class)

@contextconfiguration(locations="classpath:springs.xml")

public class te

}

可能是由於框架版本迭代,並且有相互相容的部分導致,寫法比較多樣,找的適合自己的才是關鍵;

Spring Aop實現方式(註解和Xml)

aop 指程式執行期間動態的將某段 切入到指定方法指定位置進行執行的程式設計方式。基於註解的aop 實現步驟 1 匯入aop模組 spring aop spring aspects 2 定義乙個業務邏輯類 userserviceimpl 在業務邏輯執行的時候將日誌進行列印包括在 方法執行的之前,執行...

springAOP 註解方式

package com.zf.aspect import org.aspectj.lang.joinpoint import org.aspectj.lang.proceedingjoinpoint import org.aspectj.lang.annotation.afterreturning ...

SpringAop註解實現

該簡單例子實現方法的前置增強列印日誌,簡單的來說就是在呼叫某個方法之前會呼叫另乙個方法 普通類 calculator component public class calculator public int sub int i,int j public int mul int i,int j pub...