計算機網絡通俗地講就是由多臺計算機(或其它計算機網絡設備)通過傳輸介質和軟件物理(或邏輯)連接在一起組成的。下面是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)