spring和springmvc

1. 爲何使用Spring ?前端

    1). 方便解耦,簡化開發web

         經過Spring提供的IoC容器,能夠將對象之間的依賴關係交由Spring進行控制,避免硬編碼所形成的過分程序耦合。spring

    2). AOP編程的支持數據庫

         經過Spring提供的AOP功能,方便進行面向切面的編程,如性能監測、事務管理、日誌記錄等。編程

    3). 聲明式事務的支持session

    4). 方便集成各類優秀框架mvc

    5). 下降Java EE API的使用難度app

         如對JDBC,JavaMail,遠程調用等提供了簡便封裝框架

2. 什麼是IoC,爲什使用IoC ?jsp

    IoC全稱Iversion of Controller,控制反轉。

    這概念是說你不用建立對象,而只須要描述它如何被建立。你不在代碼裏直接組裝你的組件和服務,可是要在配置文件裏描述哪些組件須要哪些服務,以後一個容器(IOC容器)負責把他們組裝起來。

    它能指導咱們如何設計出鬆耦合、更優良的程序。

3. 什麼是AOP,爲何使用AOP ?

    AOP全稱:Aspect-Oriented Programming,面向切面編程。

     AOP,面向切面編程,就是把可重用的功能提取出來,而後將這些通用功能在合適的時候織入到應用程序中,好比事務管理權限控制日誌記錄、性能統計等。

    AOP並無幫助咱們解決任何新的問題,它只是提供了一種更好的辦法,可以用更少的工做量來解決現有的一些問題,使得系統更加健壯,可維護性更好。

4. 什麼是Spring的事務管理?

    事務就是對一系列的數據庫操做(好比插入多條數據)進行統一的提交或回滾操做,若是插入成功,那麼一塊兒成功,若是中間有一條出現異常,那麼回滾以前的全部操做。這樣能夠防止出現髒數據,防止數據庫數據出現問題。

    開發中爲了不這種狀況通常都會進行事務管理。

    Spring的聲明式事務一般是指在配置文件中對事務進行配置聲明,其中包括了不少聲明屬性,它是經過Spring Proxy幫你作代理,本身不用額外的寫代碼,只要在Spring配置文件中聲明便可;一般用在數據庫的操做裏面;

    編程式事務就是指經過硬編碼的方式作事務處理,這種處理方式須要寫代碼,事務中的邏輯能夠本身定製;能夠是數據庫的東東,也能夠是其餘的操做。

    Spring中也有本身的事務管理機制,通常是使用TransactionMananger進行管理,能夠經過Spring的注入來完成此功能。

5. Spring框架支持如下五種bean的做用域:

    singleton : 默認值,bean在每一個Spring ioc 容器中只有一個實例。

    prototype:一個bean的定義能夠有多個實例。

    request:每次http請求都會建立一個bean,該做用域僅在基於web的Spring ApplicationContext情形下有效。 

    session:在一個HTTP Session中,一個bean定義對應一個實例。該做用域僅在基於web的Spring ApplicationContext情形下有效。

    global-session:在一個全局的HTTP Session中,一個bean定義對應一個實例。該做用域僅在基於web的Spring ApplicationContext情形下有效。

6. 什麼是Spring的MVC框架?

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

    spring mvc是一個基於mvc的web框架。spring mvc是spring框架的一個模塊,springmvc和spring無需經過中間整合層進行整合。

7. 如何啓用註解:

    <context:annotation-config/>

    若是使用<context:component-scan base-package="com.tgb.web.controller.annotation"> </context:component-scan>  則上面內容能夠省略 

8. Spring MVC的請求流程:

    第一步:發起請求到前端控制器(DispatcherServlet)

    第二步:前端控制器請求HandlerMapping查找Handler能夠根據xml配置、註解進行查找

    第三步:處理器映射器HandlerMapping向前端控制器返回Handler

    第四步:前端控制器調用處理器適配器去執行Handler

    第五步:處理器適配器去執行Handler

    第六步:Handler執行完成給適配器返回ModelAndView

    第七步:處理器適配器向前端控制器返回ModelAndView。ModelAndView是springmvc框架的一個底層對象,包括 Model和view

    第八步:前端控制器請求視圖解析器去進行視圖解析,根據邏輯視圖名解析成真正的視圖(jsp)

    第九步:視圖解析器向前端控制器返回View

    第十步:前端控制器進行視圖渲染。視圖渲染將模型數據(在ModelAndView對象中)填充到request域

    第十一步:前端控制器向用戶響應結果

相關文章
相關標籤/搜索