大概總結(jié)了最近面試時(shí)候遇到的Spring的問題
1Spring的兩個(gè)特點(diǎn)。Aop如何實(shí)現(xiàn)面向切面編程?
2Spring ioc是什么,和工廠模式的區(qū)別?
3Spring MVC和Structs2區(qū)別?
面試的時(shí)候我說,ioc解耦了,面試官說工廠模式也解耦了,我說依賴倒置了,面試官說工廠模式不是嗎?我說減少書寫的繁雜,直接配置就好了,面試官說,那我工廠模式,依次創(chuàng)建類有什么不行呢,都把他放在一個(gè)包里,也挺好管理啊,你配置的時(shí)候不是一樣也得挨個(gè)寫嗎?我后來沒有說的了,面試官就笑了,反正也沒告訴我答案。我覺得我是太一知半解了,沒有一點(diǎn)深入的了解。
我之前從來沒想過ioc和工廠模式的區(qū)別,慚愧?;貋砗笞约簩懥藢懝S模式的demo,然后又配置了下Spring的bean,上網(wǎng)查了下資料,大概了解了下,應(yīng)該是這樣的。他說的挺對(duì)的,但是最大的區(qū)別就是,如果你用工廠模式的話,如果添加或者修改每個(gè)類,你就要重新啟動(dòng)服務(wù)器,這對(duì)用戶體驗(yàn)很不好,但是Spring就完美的解決了,而IoC只需 要將class屬性改變一下,并且由于IoC利用了Java反射機(jī)制,這些對(duì)象是動(dòng)態(tài)生成的,這時(shí)我們就可以熱插撥對(duì)象(不必把原程序停止下來重新編譯布署),這句話是我扒的。還有就是ioc她解耦的很徹底,你用工廠模式話,多多少少還會(huì)有間接的聯(lián)系。
我覺得在面試中,雖然會(huì)問Spring但是問的也基本是你對(duì)他的理解和一些固定的東西,我覺得自己的理解真的很考驗(yàn)一個(gè)人,說到什么程度一下子就暴露出來你到底理解什么樣子。
從Spring中引來的知識(shí)點(diǎn)還有反射和動(dòng)態(tài)代理,我問下自己,確實(shí)不是融會(huì)貫通。最近的編程題總是反轉(zhuǎn)鏈表,約瑟夫環(huán),還有遞歸和非遞歸方法的使用。