Spring之面試題

Spring 事務

1. Spring支持的事務管理類型

Spring支持兩種類型的事務管理:java

  • 編程式事務管理:這意味你經過編程的方式管理事務,給你帶來極大的靈活性,可是難維護。
  • 聲明式事務管理:這意味着你能夠將業務代碼和事務管理分離,你只需用註解和XML配置來管理事務

AOP

1.  解釋AOP

面向切面的編程,或AOP, 是一種編程技術,容許程序模塊化橫向切割關注點,或橫切典型的責任劃分,如日誌和事務管理。編程

2. Aspect 切面

AOP核心就是切面,它將多個類的通用行爲封裝成可重用的模塊,該模塊含有一組API提供橫切功能。好比,一個日誌模塊能夠被稱做日誌的AOP切面。根據需求的不一樣,一個應用程序能夠有若干切面。在Spring AOP中,切面經過帶有@Aspect註解的類實現。安全

3. 在Spring AOP 中,關注點和橫切關注的區別是什麼?

關注點是應用中一個模塊的行爲,一個關注點可能會被定義成一個咱們想實現的一個功能。
橫切關注點是一個關注點,此關注點是整個應用都會使用的功能,並影響整個應用,好比日誌,安全和數據傳輸,幾乎應用的每一個模塊都須要的功能。所以這些都屬於橫切關注點。app

4. 鏈接點

鏈接點表明一個應用程序的某個位置,在這個位置咱們能夠插入一個AOP切面,它其實是個應用程序執行Spring AOP的位置。框架

5. 通知

通知是個在方法執行前或執行後要作的動做,其實是程序執行時要經過SpringAOP框架觸發的代碼段。模塊化

Spring切面能夠應用五種類型的通知:spa

  • before:前置通知,在一個方法執行前被調用。
  • after: 在方法執行以後調用的通知,不管方法執行是否成功。
  • after-returning: 僅當方法成功完成後執行的通知。
  • after-throwing: 在方法拋出異常退出時執行的通知。
  • around: 在方法執行以前和以後調用的通知。

6. 切點

切入點是一個或一組鏈接點,通知將在這些位置執行。能夠經過表達式或匹配的方式指明切入點。.net

7. 什麼是引入? 

引入容許咱們在已存在的類中增長新的方法和屬性。設計

8. 什麼是目標對象? 

被一個或者多個切面所通知的對象。它一般是一個代理對象。也指被通知(advised)對象。代理

9. 什麼是代理?

代理是通知目標對象後建立的對象。從客戶端的角度看,代理對象和目標對象是同樣的。

10. 有幾種不一樣類型的自動代理?

BeanNameAutoProxyCreator

DefaultAdvisorAutoProxyCreator

Metadata autoproxying

11. 什麼是織入。什麼是織入應用的不一樣點?

織入是將切面和到其餘應用類型或對象鏈接或建立一個被通知對象的過程。

織入能夠在編譯時,加載時,或運行時完成。

12. 解釋基於XML Schema方式的切面實現。

在這種狀況下,切面由常規類以及基於XML的配置實現。

13. 解釋基於註解的切面實現

在這種狀況下(基於@AspectJ的實現),涉及到的切面聲明的風格與帶有java5標註的普通java類一致。

Spring MVC

1. 什麼是Spring的MVC框架?

Spring 配備構建Web 應用的全功能MVC框架。Spring能夠很便捷地和其餘MVC框架集成,如Struts,Spring 的MVC框架用控制反轉把業務對象和控制邏輯清晰地隔離。它也容許以聲明的方式把請求參數和業務對象綁定。

2. DispatcherServlet

Spring的MVC框架是圍繞DispatcherServlet來設計的,它用來處理全部的HTTP請求和響應。

3. WebApplicationContext

WebApplicationContext 繼承了ApplicationContext  並增長了一些WEB應用必備的特有功能,它不一樣於通常的ApplicationContext ,由於它能處理主題,並找到被關聯的servlet。

4. 什麼是Spring MVC框架的控制器?

控制器提供一個訪問應用程序的行爲,此行爲一般經過服務接口實現。控制器解析用戶輸入並將其轉換爲一個由視圖呈現給用戶的模型。Spring用一個很是抽象的方式實現了一個控制層,容許用戶建立多種用途的控制器。

5. @Controller 註解

該註解代表該類扮演控制器的角色,Spring不須要你繼承任何其餘控制器基類或引用Servlet API。

6. @RequestMapping 註解

該註解是用來映射一個URL到一個類或一個特定的方處理法上。

相關文章
相關標籤/搜索