- 相關(guān)推薦
2017計算機二級考試Java重點內(nèi)容
Java考試一般會考什么呢?重難點在哪里呢?一起來看看看計算機二級考試Java重點內(nèi)容吧,學(xué)習(xí)學(xué)習(xí)!
1.AOP的概念及優(yōu)點
Aspect Oriented Programming面向方面編程.
面對象編程的關(guān)注點是對象,面向方面編程以面向?qū)ο缶幊虨榛A(chǔ),關(guān)注點是切面,切面組件可以作用在若干目標對象的方法上,封裝了具有通用性的一些處理.例如日志記錄,事務(wù)處理,異常處理等等.
面向方面編程優(yōu)點:將共通處理封裝成了一個獨立組件,利用配置形式作用在了某一批目標對象上,實現(xiàn)組件的重復(fù)利用,將切面和目標對象解耦,實現(xiàn)了低耦合應(yīng)用.
*a.切面(Aspect)
封裝了共通處理的組件,可用于切入到目標對象的處理方法中
*b.切入點(Pointcut)
用于指定目標對象和方法的一個表達式.是連接點的集合.
連接點是切面組件與某一個目標對象方法的`作用點,例如方法調(diào)用和異常發(fā)生
*c.通知(Advice)
用于指定切面功能切入目標對象方法的位置.例如切入到目標方法調(diào)用之前,目標方法調(diào)用之后等.
通知類型:前置通知,后置通知,環(huán)繞通知,最終通知,異常通知
try{
//執(zhí)行前置通知
//執(zhí)行環(huán)繞通知--前置
執(zhí)行目標對象方法
//執(zhí)行環(huán)繞通知--后置
//執(zhí)行后置通知
}catch(Exception ex){
//執(zhí)行異常通知
}finally{
//執(zhí)行最終通知
}
d.目標對象(Target)
需要使用切面功能的,被切入的Bean對象.使用切入點表達式指定
e.動態(tài)代理(AutoProxy)
在Spring采用了AOP之后,從容器取出的目標對象是一個動態(tài)代理類型,調(diào)用代理對象方法時,代理對象會調(diào)用切面功能和目標對象功能.
動態(tài)代理類生成技術(shù):
有接口的目標對象采用JDK Proxy技術(shù).
沒有接口的目標對象采用CGLIB技術(shù).
2.切入點表達式的定義
1)方法限定execution
execution(修飾符? 返回類型 方法名(參數(shù)類型) throws 異常?)
a.匹配com.tarena.UserDAO的save()方法
execution(* com.tarena.UserDAO.save(..))
b.匹配com.tarena.UserDAO的所有方法
execution(* com.tarena.UserDAO.*(..))
c.匹配com.tarena.UserDAO的.所有public void方法
execution(public void com.tarena.UserDAO.*(..))
d.匹配com.tarena包下所有類型的所有方法
execution(* com.tarena.*.*(..))
e.匹配com.tarena包下及其子包所有類型的所有方法
execution(* com.tarena..*.*(..))
f.匹配UserDAO中有一個參數(shù)并且是String類型的方法
execution(* com.tarena.UserDAO.*(java.lang.String))
2)類型限定within
within(類型)
a.匹配com.tarena.UserDAO的所有方法
within(com.tarena.UserDAO)
b.匹配com.tarena包下的所有類的所有方法
within(com.tarena.*)
c.匹配com.tarena包下及其子包的所有類的所有方法
within(com.tarena..*)
3)id名限定bean
bean(idOrName屬性值)
a.匹配容器中所有id或name屬性值以dao結(jié)尾的bean對象
bean(*dao)
【計算機二級考試Java重點內(nèi)容】相關(guān)文章:
2016計算機二級《VB》考試的重點內(nèi)容10-15
計算機二級JAVA考試構(gòu)建JAVA程序201710-02
計算機二級考試JAVA模擬試題10-12
計算機二級考試Java試題及答案10-24
計算機二級JAVA考試精選模擬試題08-12
計算機二級考試《Java》試題及答案09-04
計算機二級JAVA考試模擬試題及答案10-16
計算機二級考試java基礎(chǔ)知識10-19
計算機二級Java考試鞏固試題及答案08-03