aop(aspect oriented programming)稱為面向切面程式設計,在程式開發中主要用來解決一些系統層面上的問題,比如日誌,事務,許可權等待,struts2的***設計就是基於aop的思想
用自己的話來說就比如乙個人(a) 在排隊,然後aop**物件就相當於管理者,管理者就有權決定讓他人(b)排任意位置的隊,模擬到程式裡這個已經排隊的人就是乙個方法(目標物件)
而他人相當於切面物件;
管理者安排他人排隊與否,如何排隊就是配置織入(告訴框架哪些方法需要進行增強)
目標物件(a)----要執行的方法
import
org.
springframework
.stereotype
.component;@
component
("target"
)public
class
target
implements
targetinte***ce
}
切面物件(b)----要切入目標物件的方法
import
org.
aspectj
.lang
.annotation
.after
;import
org.
aspectj
.lang
.annotation
.aspect
;import
org.
aspectj
.lang
.annotation
.before
;import
org.
springframework
.stereotype
.component;@
component
("advice")@
aspect
public
class
advice
@after
("execution(* com.aop..*.*(..))"
)public
void
after1()
}
xml配置檔案
!--元件掃瞄--
>
<
context:component-scan
base-package
="com.aop.jdk"
>
<
/context:component-scan
>
自動**--
>
<
aop:aspectj-autoproxy
/>
<
/beans
>測試類
@
runwith
(springjunit4classrunner
.class)@
contextconfiguration()
public
class
alltest
}
@component(「***」)——沒什麼好說的
@aspect——宣告切面物件,即要切入的方法
@before(「***」)——宣告通知型別,也就是指定切面物件切入的時機,類似的還有after…
@contextconfiguration(「***.xml」)——掃瞄配置檔案
@runwith(springjunit4classrunner.class)——讓測試在spring容器環境下執行
謝謝閱讀
Spring的AOP極簡入門
aop是spring中的面向切面的程式設計,這裡簡單感受一下如何在xml檔案中配置乙個切面。如上圖所示,配置乙個切面的主要思路有以下幾個步驟。1,首先需要把實現切面功能的類宣告為乙個bean,例如圖中的minstrel。2,前面的配置都在標籤下進行。乙個切面對應乙個標籤,標籤的ref可以指定實現該切...
Spring入門導讀 IoC和AOP
和mybatis系列不同的是,在正式開始spring入門時,我們先來了解兩個關於spring核心的概念,ioc inverse of control 控制反轉和aop 面向切面程式設計。1.ioc inversion of control 控制反轉 什麼是控制反轉呢?可以這麼通俗的來解釋,我們通常寫...
Spring入門導讀 IoC和AOP
和mybatis系列不同的是,在正式開始spring入門時,我們先來了解兩個關於spring核心的概念,ioc inverse of control 控制反轉和aop 面向切面程式設計。1.ioc inversion of control 控制反轉 什麼是控制反轉呢?可以這麼通俗的來解釋,我們通常寫...