亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringAOP中的注解配置詳解

 更新時間:2019年10月31日 14:18:16   作者:Magic_Li  
這篇文章主要介紹了SpringAOP中的注解配置詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

這篇文章主要介紹了SpringAOP中的注解配置詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

使用注解實現(xiàn)SpringAOP的功能:

例子:

//表示這是被注入Spring容器中的
@Component
//表示這是個切面類
@Aspect
public class AnnotationHandler {
	/*
* 在一個方法上面加上注解來定義切入點
* 這個切入點的名字就是這個方法的名字
* 這個方法本身不需要有什么作用
* 這個方法的意義就是:給這個 @Pointcut注解一個可以書寫的地方
* 因為注解只能寫在方法、屬性、類的上面,并且方法名作為切入點的名字
* */
	//簡單來說就是將查到的方法用myPointCut()方法名代替
	@Pointcut("execution(public * com.briup.aop.service..*.*(..))")
	public void myPointCut(){
	}
	//注:這里面的所有方法的JoinPoint類型參數(shù)都可以去掉不寫,如果確實用不上的話
	@Before("myPointCut()")//在myPointCut()中查到的方法之前切入
	public void beforeTest(JoinPoint p){
		System.out.println(p.getSignature().getName()+" before...");
	}
	/*
* @After和@AfterReturning
* 
* @After標注的方法會在切入點上的方法結束后被調用(不管是不是正常的結束).
* @AfterReturning標注的方法只會在切入點上的方法正常結束后才被調用.
* */
	@After("myPointCut()")//在myPointCut()中查到的方法之后切入
	public void afterTest(JoinPoint p){
		System.out.println(p.getSignature().getName()+" after...");
	}
	@AfterReturning("myPointCut()")
	public void afterReturningTest(JoinPoint p){
		System.out.println(p.getSignature().getName()+" afterReturning");
	}
	@Around("myPointCut()")//在myPointCut()中查到的方法環(huán)繞切入
	public Object aroundTest(ProceedingJoinPoint pjp)throws Throwable{
		System.out.println(pjp.getSignature().getName()+" is start..");
		//調用連接點的方法去執(zhí)行
		Object obj = pjp.proceed();
		System.out.println(pjp.getSignature().getName()+" is end..");
		return obj;
	}
	//在切入點中的方法執(zhí)行期間拋出異常的時候,會調用這個 @AfterThrowing注解所標注的方法
	@AfterThrowing(value="myPointCut()",throwing="ex")
	public void throwingTest(JoinPoint p,Exception ex){
		System.out.println(p.getSignature().getName()+" is throwing..."+ex.getMessage());
	}
}

xml配置:注意給例子中使用的其他的類上面也使用注解

<aop:aspectj-autoproxy/>
<context:component-scan base-package="com.briup.aop"/>

<!-- 讓Spring掃描注解 -->
<context:component-scan base-package="com.briup.aop"></context:component-scan>
<!-- 識別AspectJ的注解 -->
<aop:aspectj-autoproxy/>

注意:<aop:aspectj-autoproxy proxy-target-class="true"/>這樣配置則是強制使用CGLIB進行代理

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • springboot集成flyway自動創(chuàng)表的詳細配置

    springboot集成flyway自動創(chuàng)表的詳細配置

    Flayway是一款數(shù)據(jù)庫版本控制管理工具,支持數(shù)據(jù)庫版本自動升級,Migrations可以寫成sql腳本,也可以寫在java代碼里;本文通過實例代碼給大家介紹springboot集成flyway自動創(chuàng)表的詳細過程,感興趣的朋友一起看看吧
    2021-06-06
  • IDEA創(chuàng)建方法時如何快速添加注釋

    IDEA創(chuàng)建方法時如何快速添加注釋

    這篇文章主要介紹了IDEA創(chuàng)建方法時如何快速添加注釋問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 用C和JAVA分別創(chuàng)建鏈表的實例

    用C和JAVA分別創(chuàng)建鏈表的實例

    使用用C和JAVA分別創(chuàng)建鏈表的方法,創(chuàng)建鏈表、往鏈表中插入數(shù)據(jù)、刪除數(shù)據(jù)等操作。
    2013-10-10
  • mybatis plus代碼生成工具的實現(xiàn)代碼

    mybatis plus代碼生成工具的實現(xiàn)代碼

    這篇文章主要介紹了mybatis plus代碼生成工具的實現(xiàn)代碼,需要的朋友可以參考下
    2021-04-04
  • Java 獲取網絡302重定向URL的方法

    Java 獲取網絡302重定向URL的方法

    在本篇文章里小編給大家整理的是關于Java 獲取網絡302重定向URL的方法以及相關知識點,有興趣的朋友們參考下。
    2019-08-08
  • Java定位問題線程解析

    Java定位問題線程解析

    這篇文章主要介紹了Java定位問題線程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Springboot如何獲取配置文件application.yml中自定義的變量并使用

    Springboot如何獲取配置文件application.yml中自定義的變量并使用

    這篇文章主要介紹了Springboot中獲取配置文件(application.yml)中自定義的變量并使用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • 詳解如何配置springboot跳轉html頁面

    詳解如何配置springboot跳轉html頁面

    這篇文章主要介紹了詳解如何配置springboot跳轉html頁面,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Maven坐標和依賴的實現(xiàn)示例

    Maven坐標和依賴的實現(xiàn)示例

    本文主要介紹了Maven坐標和依賴的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-04-04
  • IDEA對使用了第三方依賴jar包的非Maven項目打jar包的問題(圖文詳解)

    IDEA對使用了第三方依賴jar包的非Maven項目打jar包的問題(圖文詳解)

    這篇文章主要介紹了IDEA對使用了第三方依賴jar包的非Maven項目打jar包的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07

最新評論