Spring\SpringMVC常見面試題


1、談談對spring的理解

1.是一個開源的輕量級的Java框架,可以自由選擇spring框架的全部或一部分

2.是一個容器框架

3.提供了對持久層的支持

4.提供了對Web MVC層的支持

5.IOC\DI(控制反轉\依賴注入)

IOC(控制反轉):IOC是一個概念,就是說不用創建對象,只是去描述這個對象是怎么被創建出來,不在代碼里直接組裝你的組件和服務,但是需要在配置文件中描述需要哪些組件,之后容器負責把他們組裝起來

DI:(依賴注入):從應用程序的角度來說,就是應用程序依賴Spring管理的Bean和Bean之間的關系,Spring中有很多Bean的實例,他會將符合依賴關系的對象通過注入的方式進行關聯,建立Bean與Bean之間的聯系

6、AOP(面向切面編程)

AOP:AOP就是把可以重用的功能提取出來,然后在將這些功能在合適的時候放入到應用程序中,AOP沒有幫我們解決新的問題,他是提供了一種方法,用更少的工作量來解決一些現有的問題,是系統變得更加健壯,可維護性更好

2、什么是Spring的事務管理

事務就是對一系列的數據庫操作進行統一的提交和回滾,如果插入成功,就全部插入成功,如果有一條數據發生問題,就全部回滾,避免臟數據的產生

Spring具有兩種事務,一種是聲明式事務,另一種是編程式事務,Spring大部分的用戶會采用聲明式事務,因為這種事務和應用程序的關聯比較少

聲明式事務:在配置文件中對事務進行聲明,通過Spring proxy進行代理,不用寫額外的代碼,只需要在Spring配置文件中聲明

編程式事務:使用硬編碼的形式做事務處理,事務中的邏輯可以自己控制

Spring中也有自己的事務管理機制,一般是使用TransactionMananger進行管理,可以通過Spring的注入來完成此功能

3、Spring和SpringMVC的區別

spring是一個開源的輕量級的具有IOC(控制反轉)和AOP(面向切面編程)的容器框架,SpringMVC是一個MVC框架,是基於Spring現有功能之上添加的框架,想用SpringMVC必須先依賴於Spring

4、什么是SpringMVC

SpringMVC是Spring配備構建Web應用的全功能MVC框架,SpringMVC是一個基於MVC架構的Web框架,SpringMVC是Spring框架的模塊,SpringMVC和Spring無需通過中間層進行整合

5、SpingMVC的工作流程

1.發送請求到前端控制器(dispatcherservlet)

2.前端控制器(dispatcherservlet)接收到請求后,根據URL調用HandlerMapping獲得該handler配置的所有相關的對象,最后以HandlerExecutionChain對象的形式返回

3.dispatchersevlet根據獲得的handler,選擇一個合適的handlerAdapter

4.提取request中的額數據模型,填充handler入參,開始執行handler(也就是cotroller)

5.handler執行完成后,向dispatcherservlet返回一個modelandview對象

6.dispatcherservlet接收到modelandview對象,將modelandview對象傳給viewresolve

7.viewresolver解析后返回具體的view

8.dispatcherservlet將渲染視圖,返回給客戶端

6、Spring的常用注解

1.controller,對應表現層的Bean

2.sevice,對應業務層的Bean

3.Repository,對應數據訪問層的Bean

4.Autowired,讓一個對象可以被自動注入

7、SpringMVC的常用注解

1. @Controller,使用它標記的類就是一個SpringMVC Controller 對象

2. @RequestMapping,處理請求映射地址

3. @PathVariable,用於對應restful風格url中的參數

4. @RequestParam,將請求的參數綁定到方法中的參數上

5. @ResponseBody,將返回類型直接輸入到http response body中

6. @RequestBody,方法參數直接被綁定到http request body中


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM