Spring面試試題
1. 什么是spring?
Spring 是個java企業(yè)級應用的開源開發(fā)框架。Spring主要用來開發(fā)Java應用,但是有些擴展是針對構建J2EE平臺的web應用。Spring 框架目標是簡化Java企業(yè)級應用開發(fā),并通過POJO為基礎的編程模型促進良好的編程習慣。
2. 使用Spring框架的好處是什么?
輕量:Spring 是輕量的,基本的版本大約2MB。
控制反轉:Spring通過控制反轉實現(xiàn)了松散耦合,對象們給出它們的依賴,而不是創(chuàng)建或查找依賴的對象們。
面向切面的編程(AOP):Spring支持面向切面的編程,并且把應用業(yè)務邏輯和系統(tǒng)服務分開。
容器:Spring 包含并管理應用中對象的生命周期和配置。
MVC框架:Spring的WEB框架是個精心設計的框架,是Web框架的一個很好的替代品。
事務管理:Spring 提供一個持續(xù)的事務管理接口,可以擴展到上至本地事務下至全局事務(JTA)。
異常處理:Spring 提供方便的API把具體技術相關的異常(比如由JDBC,Hibernate or JDO拋出的)轉化為一致的unchecked 異常。
3. Spring由哪些模塊組成?
以下是Spring 框架的基本模塊:
Core module
Bean module
Context module
Expression Language module
JDBC module
ORM module
OXM module
Java Messaging Service(JMS) module
Transaction module
Web module
Web-Servlet module
Web-Struts module
Web-Portlet module
4. 核心容器(應用上下文) 模塊。
這是基本的Spring模塊,提供spring 框架的基礎功能,BeanFactory 是 任何以spring為基礎的應用的核心。Spring 框架建立在此模塊之上,它使Spring成為一個容器。
5. BeanFactory – BeanFactory 實現(xiàn)舉例。
Bean 工廠是工廠模式的一個實現(xiàn),提供了控制反轉功能,用來把應用的配置和依賴從正真的應用代碼中分離。
最常用的BeanFactory 實現(xiàn)是XmlBeanFactory 類。
6. XMLBeanFactory
最常用的就是org.springframework.beans.factory.xml.XmlBeanFactory ,它根據(jù)XML文件中的定義加載beans。該容器從XML 文件讀取配置元數(shù)據(jù)并用它去創(chuàng)建一個完全配置的系統(tǒng)或應用。
7. 解釋AOP模塊
AOP模塊用于發(fā)給我們的Spring應用做面向切面的開發(fā), 很多支持由AOP聯(lián)盟提供,這樣就確保了Spring和其他AOP框架的共通性。這個模塊將元數(shù)據(jù)編程引入Spring。
8. 解釋JDBC抽象和DAO模塊。
通過使用JDBC抽象和DAO模塊,保證數(shù)據(jù)庫代碼的簡潔,并能避免數(shù)據(jù)庫資源錯誤關閉導致的問題,它在各種不同的數(shù)據(jù)庫的錯誤信息之上,提供了一個統(tǒng)一的異常訪問層。它還利用Spring的AOP 模塊給Spring應用中的對象提供事務管理服務。
9. 解釋對象/關系映射集成模塊。
Spring 通過提供ORM模塊,支持我們在直接JDBC之上使用一個對象/關系映射映射(ORM)工具,Spring 支持集成主流的ORM框架,如Hiberate,JDO和 iBATIS SQL Maps。Spring的事務管理同樣支持以上所有ORM框架及JDBC。
10. 解釋WEB 模塊。
Spring的WEB模塊是構建在application context 模塊基礎之上,提供一個適合web應用的上下文。這個模塊也包括支持多種面向web的任務,如透明地處理多個文件上傳請求和程序級請求參數(shù)的綁定到你的業(yè)務對象。它也有對Jakarta Struts的支持。
12. Spring配置文件
Spring配置文件是個XML 文件,這個文件包含了類信息,描述了如何配置它們,以及如何相互調(diào)用。
13. 什么是Spring IOC 容器?
Spring IOC 負責創(chuàng)建對象,管理對象(通過依賴注入(DI),裝配對象,配置對象,并且管理這些對象的整個生命周期。
14. IOC的優(yōu)點是什么?
IOC 或 依賴注入把應用的代碼量降到最低。它使應用容易測試,單元測試不再需要單例和JNDI查找機制。最小的代價和最小的侵入性使松散耦合得以實現(xiàn)。IOC容器支持加載服務時的餓漢式初始化和懶加載。
15. ApplicationContext通常的實現(xiàn)是什么?
FileSystemXmlApplicationContext :此容器從一個XML文件中加載beans的定義,XML Bean 配置文件的全路徑名必須提供給它的構造函數(shù)。
ClassPathXmlApplicationContext:此容器也從一個XML文件中加載beans的定義,這里,你需要正確設置classpath因為這個容器將在classpath里找bean配置。
WebXmlApplicationContext:此容器加載一個XML文件,此文件定義了一個WEB應用的所有bean。
【Spring面試試題】相關文章:
Spring面試試題匯總09-26
Spring面試題庫09-25
面試試題精選08-08
外企面試英語面試試題09-26
社工面試面試試題及答案08-04
文員面試技巧與面試題08-09
硅谷面試題精選02-03
經(jīng)典求職面試試題08-05
java面試簡答試題09-25
SEO經(jīng)典面試試題09-26