首頁 > Java > java教程 > 主體

spring中AOP的註解方式介紹

零下一度
發布: 2017-06-30 10:42:06
原創
1137 人瀏覽過

  AOP(Aspect Oriented Programming):AOP的專業術語是"面向切面編程" 什麼是面向切面編程,我的理解就是:在不修改源代碼的情況下增強功能.好了,下面在講述aop註解方式的情況下順便會提到這一點.

一、搭建aop註解方式的環境(導入以下的套件)

二、實作

  環境建置好了之後,就建立專案。

  1.建立介面類別(CustomerDao)並且新增兩個方法

  2.介面類別建立好了後,自然是要new一個實作類(CustomerDaoImpl)並實作介面中的方法

  

  3.以上基礎工作做完後,我們要用到springIOC的思想,將customerDaoImpl類別交給spring管理

    在src目錄下創建名為applicationContext.xml 的xml檔案

    bean是一個spring中的標籤對, 你可以理解為一個小物品,id就是你取的名字,但一般都是類別名稱然後首字母小寫, class中新增的是類別的全路徑

 

    開啟自動註解/代理:只有開啟了自動代理,我們接下來所寫的註解才有真正的應用

      

## 

 

   4.環境和基礎類別都寫完用來實作

  

 

# 首先我們需要將存在spring容器中的CustomerDaoImpl類別拿出來

  程式碼''1'和' 2'就是做這個事情的。

    '1'中顧名思義,你得告訴它從哪裡拿,所以要給一個路徑

    '2'中就是註解的方式,叫依賴注入:將xml文件中早就寫好的類別注入給字段customerDao,@Resource中的name就是指先前bean中的id值

 接下來就是測試了(需要添加程式碼'3''4'),寫一個run1()在方法上新增@Test,測試的時候雙擊方法名選中後右鍵選擇在junit上運行,這就是單元測試了,很方便。

 

  有了前面的鋪墊後,執行了run1方法後就可以顯示實現類別中的兩行輸出了

 

#三、aop切面類別

  1.建立切面類別MyAspectAnno.java(在設定檔中新增一個bean,繼續交給spring管理)

# 2.新增需要增強的功能方法

   value中的程式碼是表達式, public 後的*是指任何類型的回傳值都可以, save()是指在哪裡增強或說在哪裡加入功能,這些程式碼寫完後就是指在save()執行後會執行註解@After下的方法,即after() 這就是增強了

 

    但是當我們多寫幾個通知(環繞通知,前置通知等等)每次都要添加表達式的代碼,複製粘貼也很麻煩,這裡我們可以添加一個切入點,實現如下:

 

  以後我們只需要這樣做就行了,下面新增了一個環繞通知:

  

      

#  value值不再是值很長的表達式了,也方便以後的維護

 

上圖已經很明確的說明了我們成功實現了功能的增強,利用aop思想並用註解的方式(我們所加入的通知分別在切入點(save())的之後和環繞著執行了)

以上是spring中AOP的註解方式介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板