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中