IoC與AOP

  1. IOC,DI和AOP全寫的英文單詞?
    控制反轉(IoC:Inversion of Control ) 賴注入(DI:Dependency Injection )
    面向切面編程(AOP:Aspect Oriented Programming)

  2. 根據你的理解,講講什麼是IOC,以及依賴注入帶給我們的好處?
    控制反轉(依賴注入)就是對組件對象控制權的轉移,從程序代碼本身轉移到了外部容器,通過容器實現組件對象的裝配和管理,在運行時注入所依賴的具體實例,從而實現組件之間的解耦合,提高程序的擴展性和可維護性。總結一句話就是,將組件對象的控制權從代碼本身轉移到外部容器。
    依賴的注入:將組件的構建和使用分開。而不是以硬編碼的方式耦合在一起。
    好處:以Spring爲例,因爲把對象之間關係的維護放在了XML中定義,當我們需要更換實現類時會變得很簡單,只需要修改XML就可以了,避免了大量的程序修改。

  3. 根據你的理解,講講什麼是AOP,以及AOP有什麼好處?
    所謂AOP(面向切面編程),是一種通過預編譯和運行期動態代理的方式實現在不修改源代碼的情況下給程序動態添加功能的技術。在程序運行期間,不修改源碼對已有方法進行增強。
    好處:減少重複代碼,提高開發效率,維護方便

  4. 面向切面編程,主要關心哪兩個問題?
    在什麼位置,執行什麼功能。

  5. Spring提供了哪幾種依賴注入方式?
    第一種:使用構造函數提供
    第二種:使用set方法提供
    第三種:使用P命名空間

  6. Spring提供的增強處理類型包括哪幾種?
    前置增強,後置增強,異常拋出增強,環繞增強和最終增強。

  7. 通過Schema形式將POJO的方法配置城切面,需要用到的標籤包括哪些?分別代表什麼意思
    aop:config:配置AOP
    aop:pointcut:配置切入點
    aop:aspect :配置切面
    aop:before:前置增強
    aop:after-returning:後置增強
    aop:after-throwing:異常拋出增強
    aop:after:最終增強
    aop:around:環繞增強

  8. 用來定義Bean組件的註解包括哪些?
    @ Component:用於把當前類對象存入spring容器中
    @ Controller:一般用在表現層
    @ Service:一般用在業務層
    @ Repository:一般用在持久層

9.Bean組件的裝配可以通過哪些註解來實現 @AutoWired @Qualifier @Resource

  1. 使用註解的方式定義切面可以大大簡化配置工作,常用的註解有哪些?
    @Aspect,@Pointcut,@Before,@AfterReturning,
    @AfterThrowing,@After,@Around

  2. 在Spring配置文件中,使用什麼元素標籤可以掃描包含註解的類,配置什麼元素可以啓用對@Aspect註解的支持?
    配置spring創建容器時要掃描的包:<context:component-scan >
    配置spring開啓註解AOP的支持:aop:aspectj-autoproxy

12.說出面向切面編程的一些核心概念點以及單詞?
目標對象(target),切面(aspect),連接點(joinpoint),切入點(pointcut),通知(advice),織入(weave)

13.配置Spring環境需要導入的jar包?
spring-aop-5.0.2.RELEASE.jar
spring-aspects-5.0.2.RELEASE.jar
spring-beans-5.0.2.RELEASE.jar
spring-context-5.0.2.RELEASE.jar
spring-core-5.0.2.RELEASE.jar
spring-expression-5.0.2.RELEASE.jar

發佈了13 篇原創文章 · 獲贊 4 · 訪問量 1813
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章