開源框架
- Spring5 Framework體系結構
- spring5概述
- Spring5環境搭建
- Spring MVC
- AOP源碼解析
- IOC源碼解析
- Mybatis
spring
什麼是Spring框架?Spring框架有哪些主要模塊?
使用Spring框架能帶來哪些好處?
什麼是控制反轉(IOC)?什麼是依賴注入?
請解釋下Spring框架中的IOC?
BeanFactory和ApplicationContext有什麼區別?
Spring有幾種配置方式?
如何用基於XML配置的方式配置Spring?
怎樣用註解的方式配置Spring?
請解釋Spring Bean的生命週期?
Spring Bean的作用域之間有什麼區別?
什麼是Spring inner beans?
Spring框架中的單例Beans是線程安全的麼?
請舉例說明如何在Spring中注入一個Java Collection?
如何向Spring Bean中注入一個Java.util.Properties?
請解釋Spring Bean的自動裝配?
如何開啟基於註解的自動裝配?
請解釋自動裝配模式的區別?
請舉例解釋@Required註解?
請舉例解釋@Autowired註解?
請舉例說明@Qualifier註解?
構造方法注入和設值注入有什麼區別?
Spring框架中有哪些不同類型的事件?
FileSystemResource和ClassPathResource有何區別?
Spring 框架中都用到了哪些設計模式?
SpringMVC
什麼是SpringMvc?
Spring MVC的優點
SpringMVC工作原理?
SpringMVC流程?
SpringMvc的控制器是不是單例模式,如果是,有什麼問題,怎麼解決?
如果你也用過struts2.簡單介紹下springMVC和struts2的區別有哪些?
SpingMvc中的控制器的註解一般用那個,有沒有別的註解可以替代?
@RequestMapping註解用在類上面有什麼作用?
怎麼樣把某個請求映射到特定的方法上面?
如果在攔截請求中,我想攔截get方式提交的方法,怎麼配置?
怎麼樣在方法裡面得到Request,或者Session?
我想在攔截的方法裡面得到從前臺傳入的參數,怎麼得到?
如果前臺有很多個參數傳入,並且這些參數都是一個對象的,那麼怎麼樣快速得到這個對象?
SpringMvc中函數的返回值是什麼?
SpringMVC怎麼樣設定重定向和轉發的?
SpringMvc用什麼對象從後臺向前臺傳遞數據的?
SpringMvc中有個類把視圖和數據都合併的一起的,叫什麼?
怎麼樣把ModelMap裡面的數據放入Session裡面?
SpringMvc怎麼和AJAX相互調用的?
當一個方法向AJAX返回特殊對象,譬如Object,List等,需要做什麼處理?
SpringMvc裡面攔截器是怎麼寫的
講下SpringMvc的執行流程
MyBatis
#{}和${}的區別是什麼?
通常一個Xml映射文件,都會寫一個Dao接口與之對應,請問,這個Dao接口的工作原理是什麼?Dao接口裡的方法,參數不同時,方法能重載嗎?
Mybatis是如何進行分頁的?分頁插件的原理是什麼?
Mybatis是如何將sql執行結果封裝為目標對象並返回的?都有哪些映射形式?
Xml映射文件中,除了常見的select|insert|update|delete標籤之外,還有哪些標籤?
簡述Mybatis的插件運行原理,以及如何編寫一個插件
一級、二級緩存
Mybatis是否支持延遲加載?如果支持,它的實現原理是什麼?
Mybatis映射文件中,如果A標籤通過include引用了B標籤的內容,請問,B標籤能否定義在A標籤的後面,還是說必須定義在A標籤的前面?
簡述Mybatis的Xml映射文件和Mybatis內部數據結構之間的映射關係?
面試題及答案的獲取方式,歡迎加入Java進階架構交流:805685193。提供Java架構進階思維導圖,主要分享分佈式架構、高可擴展、高性能、高併發、性能優化、Spring MVC、Redis、MyBatis、Nginx、Jvm大型分佈式項目實戰學習架構師視頻。
答案解析
什麼是Spring框架?Spring框架有哪些主要模塊?
Spring框架是一個為Java應用程序的開發提供了綜合、廣泛的基礎性支持的Java平臺。
Spring幫助開發者解決了開發中基礎性的問題,使得開發人員可以專注於應用程序的開發。
Spring框架本身亦是按照設計模式精心打造,這使得我們可以在開發環境中安心的集成Spring框架,不必擔心Spring是如何在後臺進行工作的。
Spring框架至今已集成了20多個模塊。這些模塊主要被分如下圖所示的核心容器、數據訪問/集成,、Web、AOP(面向切面編程)、工具、消息和測試模塊。
SpringMVC工作原理?
- 客戶端發送請求到DispatcherServlet
- DispatcherServlet查詢handlerMapping找到處理請求的Controller
- Controller調用業務邏輯後,返回ModelAndView
- DispatcherServlet查詢ModelAndView,找到指定視圖
- 視圖將結果返回到客戶端
MyBatis的好處是什麼?
- MyBatis把sql語句從Java源程序中獨立出來,放在單獨的XML文件中編寫,給程序的維護帶來了很大便利。
- MyBatis封裝了底層JDBC API的調用細節,並能自動將結果集轉換成Java Bean對象,大大簡化了Java數據庫編程的重複工作。
- 因為MyBatis需要程序員自己去編寫sql語句,程序員可以結合數據庫自身的特點靈活控制sql語句,因此能夠實現比Hibernate等全自動orm框架更高的查詢效率,能夠完成複雜查詢。
面試題及答案的獲取方式,歡迎加入Java進階架構交流:805685193。提供Java架構進階思維導圖,主要分享分佈式架構、高可擴展、高性能、高併發、性能優化、Spring MVC、Redis、MyBatis、Nginx、Jvm大型分佈式項目實戰學習架構師視頻。
閱讀更多 JavaSpring高級進階 的文章