亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

11道高頻Java面試題解析(Spring+Spring MVC+MyBatis)

發布時間:2020-06-25 19:25:24 來源:網絡 閱讀:610 作者:架構師追風 欄目:編程語言

前言

最近一直都在面試,整理了幾家公司常問的三大框架面試題,現在把它帶答案整理好在這里分享給大家,希望對大家有所幫助。

11道高頻Java面試題解析(Spring+Spring MVC+MyBatis)

以下為 Spring 常見面試問題

1 、什么是 Spring 框架?Spring 框架有哪些主要模塊?

Spring 框架是一個為 Java 應用程序的開發提供了綜合、廣泛的基礎性支持的 Java 平臺。

Spring 幫助開發者解決了開發中基礎性的問題,使得開發人員可以專注于應用程序的開發。

Spring 框架本身亦是按照設計模式精心打造,這使得我們可以在開發環境中安心的集成 Spring 框

架,不必擔心 Spring 是如何在后臺進行工作的。

Spring 框架至今已集成了 20 多個模塊。這些模塊主要被分如下圖所示的核心容器、數據訪問/集

成,、Web、AOP(面向切面編程)、工具、消息和測試模塊。

2 、使用 Spring 框架能帶來哪些好處?

下面列舉了一些使用 Spring 框架帶來的主要好處:

Dependency Injection(DI) 方法使得構造器和 JavaBean properties 文件中的依賴關系一

目了然。

與 EJB 容器相比較,IoC 容器更加趨向于輕量級。這樣一來 IoC 容器在有限的內存和 CPU 資

源的情況下進行應用程序的開發和發布就變得十分有利。

Spring 并沒有閉門造車,Spring 利用了已有的技術比如 ORM 框架、logging 框架、J2EE、Q

uartz 和 JDK Timer,以及其他視圖技術。

Spring 框架是按照模塊的形式來組織的。由包和類的編號就可以看出其所屬的模塊,開發者僅

僅需要選用他們需要的模塊即可。

要測試一項用 Spring 開發的應用程序十分簡單,因為測試相關的環境代碼都已經囊括在框架中

了。更加簡單的是,利用 JavaBean 形式的 POJO 類,可以很方便的利用依賴注入來寫入測試

數據。

Spring 的 Web 框架亦是一個精心設計的 Web MVC 框架,為開發者們在 web 框架的選擇上

提供了一個除了主流框架比如 Struts、過度設計的、不流行 web 框架的以外的有力選項。

Spring 提供了一個便捷的事務管理接口,適用于小型的本地事物處理(比如在單 DB 的環境

下)和復雜的共同事物處理(比如利用 JTA 的復雜 DB 環境)。

11道高頻Java面試題解析(Spring+Spring MVC+MyBatis)

3 、什么是控制反轉(IOC) ?什么是依賴注入?

控制反轉是應用于軟件工程領域中的,在運行時被裝配器對象來綁定耦合對象的一種編程技巧,對

象之間耦合關系在編譯時通常是未知的。在傳統的編程方式中,業 務邏輯的流程是由應用程序中的

早已被設定好關聯關系的對象來決定的。在使用控制反轉的情況下,業務邏輯的流程是由對象關系

圖來決定的,該對象關系圖由裝配 器負責實例化,這種實現方式還可以將對象之間的關聯關系的定

義抽象化。而綁定的過程是通過“依賴注入”實現的。

控制反轉是一種以給予應用程序中目標組件更多控制為目的設計范式,并在我們的實際工作中起到

了有效的作用。

依賴注入是在編譯階段尚未知所需的功能是來自哪個的類的情況下,將其他對象所依賴的功能對象

實例化的模式。這就需要一種機制用來激活相應的組件以提供特定的功能,所以依賴注入是控制反

轉的基礎。否則如果在組件不受框架控制的情況下,框架又怎么知道要創建哪個組件?

在 Java 中依然注入有以下三種實現方式:

  1. 構造器注入

  2. Setter 方法注入

  3. 接口注入

4 、請解釋下 Spring 框架中的 IoC ?

Spring 中的 org.springframework.beans 包和 org.springframework.context 包

構成了 Spring 框架 IoC 容器的基礎。

BeanFactory 接口提供了一個先進的配置機制,使得任何類型的對象的配置成為可能。

ApplicationContex 接口對 BeanFactory (是一個子接口)進行了擴展,在 BeanFactory

的基礎上添加了其他功能,比如與 Spring 的 AOP 更容易集成,也提供了處理 message resource

的機制(用于國際化)、事件傳播以及應用層的特別配置,比如針對 Web 應用的

WebApplicationContext。

org.springframework.beans.factory.BeanFactory 是 Spring IoC 容器的具體實現,

用來包裝和管理前面提到的各種 bean。BeanFactory 接口是 Spring IoC 容器的核心接口。

IOC:把對象的創建、初始化、銷毀交給 spring 來管理,而不是由開發者控制,實現控制反轉。

11道高頻Java面試題解析(Spring+Spring MVC+MyBatis)

以下為 Spring MVC常見面試問題

1、什么是 Spring MVC?

答:SpringMvc 是 spring 的一個模塊,基于 MVC 的一個框架,無需中間整合層來整合。

2、Spring MVC 的優點:

答:

1)它是基于組件技術的.全部的應用對象,無論控制器和視圖,還是業務對象之類的都是 java

組件.并且和 Spring 提供的其他基礎結構緊密集成.

2)不依賴于 Servlet API(目標雖是如此,但是在實現的時候確實是依賴于 Servlet 的)

3)可以任意使用各種視圖技術,而不僅僅局限于 JSP

4)支持各種請求資源的映射策略

5)它應是易于擴展的

3、SpringMVC 工作原理?

答:

1)客戶端發送請求到 DispatcherServlet

2)DispatcherServlet 查詢 handlerMapping 找到處理請求的 Controller

3)Controller 調用業務邏輯后,返回 ModelAndView

4)DispatcherServlet 查詢 ModelAndView,找到指定視圖

5)視圖將結果返回到客戶端

11道高頻Java面試題解析(Spring+Spring MVC+MyBatis)

以下為 MyBatis 常見面試問題

1、什么是 MyBatis?

答:MyBatis 是一個可以自定義 SQL、存儲過程和高級映射的持久層框架。

2、講下 MyBatis 的緩存

答:MyBatis 的緩存分為一級緩存和二級緩存,一級緩存放在 session 里面,默認就有,二級緩

存放在它的命名空間里,默認是不打開的,使用二級緩存屬性類需要實現 Serializable 序列化

接口(可用來保存對象的狀態),可在它的映射文件中配置<cache/>

3、Mybatis 是如何進行分頁的?分頁插件的原理是什么?

答:

1)Mybatis 使用 RowBounds 對象進行分頁,也可以直接編寫 sql 實現分頁,也可以使用

Mybatis 的分頁插件。

2)分頁插件的原理:實現 Mybatis 提供的接口,實現自定義插件,在插件的攔截方法內攔

截待執行的 sql,然后重寫 sql。

舉例:select from student,攔截 sql 后重寫為:select t. from (select * from student)t

limit 0,10

4、簡述 Mybatis 的插件運行原理,以及如何編寫一個插件?

答:

1)Mybatis 僅可以編寫針對 ParameterHandler、ResultSetHandler、StatementHandler、

Executor 這 4 種接口的插件,Mybatis 通過動態代理,為需要攔截的接口生成代理對象以實

現接口方法攔截功能,每當執行這 4 種接口對象的方法時,就會進入攔截方法,具體就是

InvocationHandler 的 invoke()方法,當然,只會攔截那些你指定需要攔截的方法。

2)實現 Mybatis 的 Interceptor 接口并復寫 intercept()方法,然后在給插件編寫注解,指定

要攔截哪一個接口的哪些方法即可,記住,別忘了在配置文件中配置你編寫的插件。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

梅州市| 保定市| 岳阳县| 蛟河市| 承德县| 昭苏县| 雅安市| 梁平县| 南平市| 崇州市| 如东县| 奉节县| 钟祥市| 昌都县| 九江县| 南江县| 通城县| 亚东县| 绥芬河市| 西宁市| 永登县| 罗山县| 谢通门县| 元朗区| 乐昌市| 五常市| 扎鲁特旗| 汉川市| 滨海县| 普兰店市| 沿河| 辰溪县| 乐山市| 洛南县| 仁化县| 中超| 兴和县| 吉水县| 方城县| 乐东| 会宁县|