Spring高頻面試題
在學(xué)習(xí)和工作中,我們很多時(shí)候都會(huì)有考試,接觸到試題,試題是命題者根據(jù)測試目標(biāo)和測試事項(xiàng)編寫出來的。那么問題來了,一份好的試題是什么樣的呢?下面是小編為大家收集的Spring高頻面試題,僅供參考,歡迎大家閱讀。
一、什么是Spring框架?Spring框架有哪些主要模塊?
Spring框架是一個(gè)為Java應(yīng)用程序的開發(fā)提供了綜合、廣泛的基礎(chǔ)性支持的Java平臺(tái)。Spring幫助開發(fā)者解決了開發(fā)中基礎(chǔ)性的問題,使得開發(fā)人員可以專注于應(yīng)用程序的開發(fā)。
Spring框架本身亦是按照設(shè)計(jì)模式精心打造,這使得我們可以在開發(fā)環(huán)境中安心的集成Spring框架,不必?fù)?dān)心Spring是如何在后臺(tái)進(jìn)行工作的。
Spring框架至今已集成了20多個(gè)模塊。這些模塊主要被分如下圖所示的核心容器、數(shù)據(jù)訪問/集成,、Web、AOP(面向切面編程)、工具、消息和測試模塊。
二、使用Spring框架能帶來哪些好處?
下面列舉了一些使用Spring框架帶來的主要好處:
1、Dependency Injection(DI)方法使得構(gòu)造器和JavaBean properties文件中的依賴關(guān)系一目了然。
2、與EJB容器相比較,IoC容器更加趨向于輕量級。這樣一來IoC容器在有限的內(nèi)存和CPU資源的情況下進(jìn)行應(yīng)用程序的開發(fā)和發(fā)布就變 ……此處隱藏199個(gè)字……g.springframework.beans 包和 org.springframework.context包構(gòu)成了Spring框架IoC容器的基礎(chǔ)。
BeanFactory接口提供了一個(gè)先進(jìn)的配置機(jī)制,使得任何類型的對象的配置成為可能。ApplicationContex接口對BeanFactory(是一個(gè)子接口)進(jìn)行了擴(kuò)展.
在BeanFactory的基礎(chǔ)上添加了其他功能,比如與Spring的AOP更容易集成,也提供了處理message resource的機(jī)制(用于國際化)、事件傳播以及應(yīng)用層的特別配置,比如針對Web應(yīng)用的WebApplicationContext。
五、BeanFactory和ApplicationContext有什么區(qū)別?
BeanFactory 可以理解為含有bean集合的工廠類。BeanFactory 包含了種bean的定義,以便在接收到客戶端請求時(shí)將對應(yīng)的bean實(shí)例化。
BeanFactory還能在實(shí)例化對象的時(shí)生成協(xié)作類之間的關(guān)系。此舉將bean自身與bean客戶端的配置中解放出來。BeanFactory還包含了bean生命周期的控制,調(diào)用客戶端的初始化方法(initialization methods)和銷毀方法(destruction methods)。
從表面上看,application context如同bean factory一樣具有bean定義、bean關(guān)聯(lián)關(guān)系的設(shè)置,根據(jù)請求分發(fā)bean的功能。但application context在此基礎(chǔ)上還提供了其他的功能:
1)提供了支持國際化的文本消息;
2)統(tǒng)一的資源文件讀取方式;