国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

【面試】Spring問答Top 25

2019-11-15 00:04:20
字體:
來源:轉載
供稿:網友
【面試】SPRing問答Top 25本文由ImportNew-一直在路上翻譯自howtodoinjava。歡迎加入翻譯小組。轉載請見文末要求。

本人收集了一些在大家在面試時被經常問及的關于Spring的主要問題,這些問題有可能在你下次面試時就會被問到。對于本文中未提及的Spring其他模塊,我會單獨分享面試的問題和答案。

歡迎大家向我推薦你在面試過程中遇到關于Spring的問題。我會把大家推薦的問題添加到下面的Spring常用面試題清單中供大家參考。

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

Spring框架是一個為Java應用程序的開發提供了綜合、廣泛的基礎性支持的Java平臺。Spring幫助開發者解決了開發中基礎性的問題,使得開發人員可以專注于應用程序的開發。Spring框架本身亦是按照設計模式精心打造,這使得我們可以在開發環境中安心的集成Spring框架,不必擔心Spring是如何在后臺進行工作的。

Spring框架至今已集成了20多個模塊。這些模塊主要被分如下圖所示的核心容器、數據訪問/集成,、Web、AOP(面向切面編程)、工具、消息和測試模塊。

更多信息:Spring 框架教程。

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

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

  • Dependency Injection(DI)方法使得構造器和JavaBean properties文件中的依賴關系一目了然。
  • 與EJB容器相比較,IoC容器更加趨向于輕量級。這樣一來IoC容器在有限的內存和CPU資源的情況下進行應用程序的開發和發布就變得十分有利。
  • Spring并沒有閉門造車,Spring利用了已有的技術比如ORM框架、logging框架、J2EE、Quartz和JDK Timer,以及其他視圖技術。
  • Spring框架是按照模塊的形式來組織的。由包和類的編號就可以看出其所屬的模塊,開發者僅僅需要選用他們需要的模塊即可。
  • 要測試一項用Spring開發的應用程序十分簡單,因為測試相關的環境代碼都已經囊括在框架中了。更加簡單的是,利用JavaBean形式的POJO類,可以很方便的利用依賴注入來寫入測試數據。
  • Spring的Web框架亦是一個精心設計的Web MVC框架,為開發者們在web框架的選擇上提供了一個除了主流框架比如Struts、過度設計的、不流行web框架的以外的有力選項。
  • Spring提供了一個便捷的事務管理接口,適用于小型的本地事物處理(比如在單DB的環境下)和復雜的共同事物處理(比如利用JTA的復雜DB環境)。

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 容器的核心接口。

5、BeanFactory和ApplicationContext有什么區別?

BeanFactory可以理解為含有bean集合的工廠類。BeanFactory包含了種bean的定義,以便在接收到客戶端請求時將對應的bean實例化。

BeanFactory還能在實例化對象的時生成協作類之間的關系。此舉將bean自身與bean客戶端的配置中解放出來。BeanFactory還包含了bean生命周期的控制,調用客戶端的初始化方法(initialization methods)和銷毀方法(destruction methods)。

從表面上看,application context如同bean factory一樣具有bean定義、bean關聯關系的設置,根據請求分發bean的功能。但application context在此基礎上還提供了其他的功能。

  1. 提供了支持國際化的文本消息
  2. 統一的資源文件讀取方式
  3. 已在監聽器中注冊的bean的事件

以下是三種較常見的ApplicationContext實現方式:

1、ClassPathxmlApplicationContext:從classpath的XML配置文件中讀取上下文,并生成上下文定義。應用程序上下文從程序環境變量中取得。

1ApplicationContext context = new ClassPathXmlApplicationContext(“bean.xml”);

2、FileSystemXmlApplicationContext :由文件系統中的XML配置文件讀取上下文。

1ApplicationContext context = new FileSystemXmlApplicationContext(“bean.xml”);

3、XmlWebApplicationContext:由Web應用的XML文件讀取上下文。

6、Spring有幾種配置方式?

將Spring配置到應用開發中有以下三種方式:

  1. 基于XML的配置
  2. 基于注解的配置
  3. 基于Java的配置

7、如何用基于XML配置的方式配置Spring?

在Spring框架中,依賴和服務需要在專門的配置文件來實現,我常用的XML格式的配置文件。這些配置文件的格式通常用<beans>開頭,然后一系列的bean定義和專門的應用配置選項組成。

SpringXML配置的主要目的時候是使所有的Spring組件都可以用xml文件的形式來進行配置。這意味著不會出現其他的Spring配置類型(比如聲明的方式或基于Java Class的配置方式)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 治县。| 铁岭县| 芜湖市| 科技| 广汉市| 和硕县| 屏南县| 繁昌县| 绥阳县| 大兴区| 怀集县| 建水县| 许昌县| 自贡市| 余姚市| 阿荣旗| 岐山县| 图木舒克市| 沙洋县| 满洲里市| 北京市| 泸溪县| 肃南| 孝感市| 城口县| 合江县| 江北区| 博客| 城固县| 岫岩| 嘉定区| 滨海县| 长丰县| 大竹县| 桑植县| 方正县| 桐柏县| 崇左市| 台南县| 南京市| 安平县|