干Java快4年了猴抹,當(dāng)要面試的時候這些天天用的框架,總感覺自己會锁荔,應(yīng)該會說蟀给,但當(dāng)面試官問起的時候,卻腦子一片空白阳堕,在此整理網(wǎng)上的一些面試題跋理。
1.什么是Spring?
Spring是一個開源的Java EE開發(fā)框架。Spring框架的核心功能可以應(yīng)用在任何Java應(yīng)用程序中恬总,但對Java EE平臺上的Web
應(yīng)用程序有更好的擴(kuò)展性前普。Spring框架的目標(biāo)是使得Java EE應(yīng)用程序的開發(fā)更簡潔,通過使用POJO為基礎(chǔ)的編程模式促進(jìn)良好的編程風(fēng)格壹堰。
2.Spring有哪些有優(yōu)點拭卿?
1)輕量級:Spring在大小和透明性方面絕對屬于輕量級的,基礎(chǔ)版本的Spring框架大約只有2MB贱纠。
2)控制反轉(zhuǎn):(IOC)Spring使用控制反轉(zhuǎn)技術(shù)實現(xiàn)了松耦合峻厚。依賴注入到對象,而不是創(chuàng)建或?qū)ふ乙蕾噷ο蟆?/p>
3)面向切面編程(AOP):Spring支持面向切面編程谆焊,同時把應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)的服務(wù)分離開來惠桃。
4)容器:Spring包含并管理應(yīng)用程序?qū)ο蟮呐渲眉吧芷凇?/p>
5)MVC框架:Spring的web框架是一個設(shè)計優(yōu)良改的web MVC 框架,很好的取代了一些web框架。
6)事務(wù)管理:Spring對下至本地業(yè)務(wù)上至全局業(yè)務(wù)(JAT)提供了統(tǒng)一的事務(wù)管理接口辜王。
7)異常處理:Spring提供一個方便的API將特定技術(shù)的異常(由JDBC, Hibernate, 或JDO拋出)轉(zhuǎn)化為一致的劈狐、Unchecked異常。
3.Spring IoC容器是什么呐馆?
負(fù)責(zé)創(chuàng)建對象肥缔,管理對象(通過依賴注入),整合對象汹来,配置對象以及管理這些對象的生命周期续膳。
4.Spring中的依賴注入是什么?
依賴注入作為控制反轉(zhuǎn)(IOC)的一個層面俗慈,可以有多種解釋方式姑宽。在這個概念中,你不用創(chuàng)建對象而只需要描述如何創(chuàng)建它們闺阱。你不必通過代碼直接的將組件和服務(wù)連接在一起炮车,而是通過配置文件說明哪些組件需要什么服務(wù)。之后IOC容器負(fù)責(zé)銜接酣溃。
5.說一下Spring中支持的bean作用域
Spring框架支持如下五種不同的作用域:
singleton:在Spring IOC容器中僅存在一個Bean實例瘦穆,Bean以單實例的方式存在。
prototype:一個bean可以定義多個實例赊豌。
request:每次HTTP請求都會創(chuàng)建一個新的Bean扛或。該作用域僅適用于WebApplicationContext環(huán)境。
session:一個HTTP Session定義一個Bean碘饼。該作用域僅適用于WebApplicationContext環(huán)境.
globalSession:同一個全局HTTP Session定義一個Bean熙兔。該作用域同樣僅適用于WebApplicationContext環(huán)境.
bean默認(rèn)的scope屬性是’singleton‘。