計算機網路通俗地講就是由多臺計算機(或其它計算機網路裝置)通過傳輸介質和軟體物理(或邏輯)連線在一起組成的。下面是yjbys小編收集了一些計算機java二級知識點,希望大家認真閱讀!
的概念及優點
Aspect Oriented Programming面向方面程式設計.
面對象程式設計的關注點是物件,面向方面程式設計以面向物件程式設計為基礎,關注點是切面,切面元件可以作用在若干目標物件的方法上,封裝了具有通用性的一些處理.例如日誌記錄,事務處理,異常處理等等.
面向方面程式設計優點:將共通處理封裝成了一個獨立元件,利用配置形式作用在了某一批目標物件上,實現元件的重複利用,將切面和目標物件解耦,實現了低耦合應用.
*a.切面(Aspect)
封裝了共通處理的.元件,可用於切入到目標物件的處理方法中
*b.切入點(Pointcut)
用於指定目標物件和方法的一個表示式.是連線點的集合.
連線點是切面元件與某一個目標物件方法的作用點,例如方法呼叫和異常發生
*c.通知(Advice)
用於指定切面功能切入目標物件方法的位置.例如切入到目標方法呼叫之前,目標方法呼叫之後等.
通知型別:前置通知,後置通知,環繞通知,最終通知,異常通知
try{
//執行前置通知
//執行環繞通知--前置
執行目標物件方法
//執行環繞通知--後置
//執行後置通知
}catch(Exception ex){
//執行異常通知
}finally{
//執行最終通知
}
d.目標物件(Target)
需要使用切面功能的,被切入的Bean物件.使用切入點表示式指定
e.動態代理(AutoProxy)
在Spring採用了AOP之後,從容器取出的目標物件是一個動態代理型別,呼叫代理物件方法時,代理物件會呼叫切面功能和目標物件功能.
動態代理類生成技術:
有介面的目標物件採用JDK Proxy技術.
沒有介面的目標物件採用CGLIB技術.
2.切入點表示式的定義
1)方法限定execution
execution(修飾符? 返回型別 方法名(引數型別) throws 異常?)
a.匹配DAO的save()方法
execution(* (..))
b.匹配DAO的所有方法
execution(* DAO.*(..))
c.匹配DAO的所有public void方法
execution(public void DAO.*(..))
d.匹配na包下所有型別的所有方法
execution(* na.*.*(..))
e.匹配na包下及其子包所有型別的所有方法
execution(* na..*.*(..))
f.匹配UserDAO中有一個引數並且是String型別的方法
execution(* DAO.*(ng))
2)型別限定within
within(型別)
a.匹配DAO的所有方法
within(DAO)
b.匹配na包下的所有類的所有方法
within(na.*)
c.匹配na包下及其子包的所有類的所有方法
within(na..*)
3)id名限定bean
bean(idOrName屬性值)
a.匹配容器中所有id或name屬性值以dao結尾的bean物件
bean(*dao)