?
Spring的面試不用愁苦始,看完這38道題再去
大家好,這一期呢慌申,我們說38道spring的面試題陌选。
第1道: 什么是spring?
Spring是基于Java語言的輕量型蹄溉,松耦合的集成開發(fā)框架咨油。
第2道: spring給我們帶來了什么好處?
好處有下面幾個柒爵,
1是預(yù)先定義的模板, 省去了我們自己添加的時間役电。
2是松耦合。
3是容易測試棉胀。
4是輕量級法瑟。
5是開發(fā)快捷冀膝。
6是強大的抽象化。
7是聲明性的支持霎挟。
第3道窝剖,spring中的模塊兒有哪些?
模塊包括1是測試氓扛。2是核心容器枯芬。3是面向特征的編程方式。4是數(shù)據(jù)訪問與集成采郎。5是網(wǎng)絡(luò)開發(fā)模塊千所。
第4道,什么是loc蒜埋?什么是dI淫痰?
ioc是依賴反轉(zhuǎn),dl是依賴注入整份。這種設(shè)計模式是為了提供松耦合性待错,從而去除程序中的強依賴性。
第5道烈评,ioc容器起什么作用火俄?
ioc容器的作用如下,創(chuàng)建實例讲冠,配置實例和集成依賴瓜客。
第6道,ioc容器有幾種類型竿开?
有兩種: beanfactory和applicationcontext.
第7道谱仪,beanfactory和applicationcontext有什么區(qū)別?
beanfactory是基本容器否彩,而applicationcontext是高級容器疯攒。Applicationcontext是擴展了beanfactory的接口。Applicationcontext比beanfactory提供了更多東西列荔,比如跟aop的集成, 消息資源處理等等敬尺。
第8道, 構(gòu)造器注入和設(shè)置器注入的區(qū)別是什么?
構(gòu)造器注入沒有部分注入。設(shè)置器允許部分注入贴浙。
構(gòu)造器不能重寫設(shè)置器屬性砂吞。設(shè)置器可以重寫構(gòu)造器屬性。
如果有任何修改構(gòu)造器會創(chuàng)建一個新實例悬而。如果屬性改變設(shè)置器并不會創(chuàng)建一個新實例。
構(gòu)造器適合用于有非常多的屬性的情況锭汛。設(shè)置器適合屬性比較少的情況笨奠。
第9道袭蝗,什么是autowiring? 其模式是什么?
Autowiring使得程序員可以自動的注入bean。
其模式有如下4種, 一是缺省模式般婆,也就是不激活autowiring到腥。二是名字模式,使用的是設(shè)置器蔚袍。三是類型模式乡范,使用的是設(shè)置器。4是構(gòu)造器模式啤咽。
第10道晋辆,bean 的運行模式有幾種?
一共有5種, singleton, prototype, request, session, global session。
第11道, 什么情況下你使用singleton和prototype?
Singleton適合用在無狀態(tài)的bean里面, prototype, 適合用在有狀態(tài)的bean里面宇整。
第12道, Spring支持幾種事務(wù)管理方式?
一共兩種, 程序化的事務(wù)管理和聲明性的事務(wù)管理瓶佳。
第13道,jdbc模板的好處是什么?
代碼量減少了鳞青。你不是需要關(guān)心數(shù)據(jù)庫鏈接, 聲明霸饲,事務(wù)開始, 提交事務(wù),關(guān)閉連接這些事情臂拓,你可以直接對查詢進行操作了厚脉。
第14道,jdbc相關(guān)的應(yīng)用程序接口類有哪些胶惰?
JdbcTemplate, SimpleJdbcTemplate, NamedParameterJdbcTemplate, SimpleJdbcInsert, SimpleJdbcCall.
第15道傻工,你如何用jdbc模板獲取記錄?
可以使用查詢方法來獲取記錄童番。有兩個接口可以使用, ResultSetExtractor, RowMapper精钮。
第16道, NamedParameterJdbcTemplate的優(yōu)勢是什么剃斧?
最大的優(yōu)勢就是容易記憶轨香,它支持傳值給有名字的參數(shù)。
第17道, SimpleJdbcTemplate的優(yōu)勢是什么?
它的優(yōu)勢是支持可變參數(shù)和autoboxing幼东。
第18道臂容,什么是aop?
Aop就是面向任務(wù)或者概念的編程技術(shù)根蟹。
第19道脓杉,aop的好處是什么?
aop允許你在業(yè)務(wù)邏輯之前或之后添加或刪除功能, 維護方便简逮。
第20道球散,aop有哪些術(shù)語?
JoinPoint, Advice, PointCut, Aspect, Introduction, Target Object, Intercepter, Aop Proxy, Weaving.
第21道,什么是joinpoint散庶?
Join point是指你程序中任何一個訪問點, 比如成員的訪問, 方法的運行蕉堰,異常處理等等凌净。
第22道, Spring是否支持所有的join points?
答案是否定的屋讶,spring只支持方法運行的join point冰寻。
第23道,什么是advice皿渗?
Advice是任務(wù)所采取的行動斩芭。
第24道,在aop中有幾種advice?
Before advice, after advice, after returning advice , throws advice, around advice.
第25道, 什么是point cut乐疆?
Point cut是aop的表達語言划乖。
第26道, 什么是aspect诀拭?
Aspect是aop中包含advices和join points的類迁筛。
第27道, 什么是introduction?
Introduction是對一個類型的成員和方法的介紹。
第28道耕挨,什么是Target object?
Target object是一個和多個aspects的代理對象细卧。
第29道,什么是interceptor筒占?
Intercepter是只包含一個advice的類贪庙。
第30道,什么是weaving翰苫?
weaving是連接另一個程序的aspect的一個進程止邮。
第31道,spring是否在編譯時期執(zhí)行weaving?
不會奏窑,spring只在運行期間執(zhí)行weaving导披。
第32道, 什么是aop的實現(xiàn)?
有三種實現(xiàn),spring aop,? apache aspectj, jboss aop.
第33道, Spring mvc的前端控制器類是什么?
Dispatcher servlet.
第34道, Controller注釋是干什么的?
Controller注釋是為了標明一個controller類埃唯。
第35道撩匕, request mapping注釋的作用是什么?
request mapping是為了標明一個方法的請求屬性墨叛。
第36道止毕,viewresolver是干什么的?
是為了根據(jù)請求調(diào)用對應(yīng)的視圖組件漠趁。他是通過前綴和后綴屬性來對應(yīng)視圖組件的扁凛。
第37道, 哪種view resolver用的比較多?
Internal resource view resolver, 用的比較多闯传。
第38道,? Spring mvc是否支持有效性驗證?
答案為是谨朝。
上面只是我個人對這個話題的一點心得體會,分享給大家,希望與大家討論字币,共同提高荚孵,歡迎拍磚。