java annotation與AOP點滴積累

  1. spring註解,與依賴注入java

    (1).類級別的註解:如@Component@Repository@Controller @Service 以及JavaEE6@ManagedBean@Named註解,都是添加在類上面的類級別註解,Spring容器根據註解的過濾規則掃描讀取註解Bean定義類,並將其註冊到Spring IoC容器中。spring

    (2).類內部的註解:如@Autowire@Value@Resource以及EJBWebService相關的註解等,都是添加在類內部的字段或者方法上的類內部註解,SpringIoC容器經過Bean後置註解處理器解析Bean內部的註解。框架

  2. java annotation工具


    元數據(Metadata)是用來描述數據自己的數據編碼

    觀衆——電影內容spa

    實現註解須要三個條件:註解聲明、使用註解的元素、操做使用註解元素的代碼。.net

    導演、製片人、演員、上映時間、國家地區等——電影的元數據(搜索,分類)代理

  3. AspectJ是一個面向切面的框架,它擴展了Java語言。code

    AspectJ定義了AOP語法因此它有一個專門的編譯器用來生成遵照Java字節編碼規範的Class文件。orm

    它向Java語言中加入少量新結構:切點(pointcut)、通知(Advice)、和方面(Aspect)。pointcutAdvice動態地影響程序流程,而Aspect則是對全部這些新結構的封裝。

    JDK動態代理   缺點:使用麻煩,不能代理類,只能代理接口

    CGLIB動態代理(比較通用的解決方案)優勢:能代理接口和類  缺點:不能代理final

  4. 總結

    java annotation 通常做爲一種輔助途徑,應用在軟件框架或工具中,在這些工具類中根據不一樣的 annontation註解信息採起不一樣的處理過程或改變相應程序元素(類、方法及成員變量等)的行爲。

    Spring註解,使代碼的靈活性大提升。

相關文章
相關標籤/搜索