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中文網其他相關文章!