更新時(shí)間:2019-12-17 15:29:09 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2962次
Spring 早已成為 Java 后端開(kāi)發(fā)事實(shí)上的行業(yè)標(biāo)準(zhǔn),無(wú)數(shù)的公司選擇 Spring 作為基礎(chǔ)的開(kāi)發(fā)框架,大部分 Java 后端程序員在日常工作中也會(huì)接觸到 Spring,那么,你對(duì)spring的主要技術(shù)點(diǎn)掌握了多少呢?

不同版本的 Spring Framework 有哪些主要功能?
VersionFeatureSpring 2.5發(fā)布于 2007 年。這是第一個(gè)支持注解的版本。Spring 3.0發(fā)布于 2009 年。它完全利用了 Java5 中的改進(jìn),并為 JEE6 提供了支持。Spring 4.0發(fā)布于 2013 年。這是第一個(gè)完全支持 JAVA8 的版本。
什么是 Spring Framework?
Spring 是一個(gè)開(kāi)源應(yīng)用框架,旨在降低應(yīng)用程序開(kāi)發(fā)的復(fù)雜度。
它是輕量級(jí)、松散耦合的。
它具有分層體系結(jié)構(gòu),允許用戶(hù)選擇組件,同時(shí)還為 J2EE 應(yīng)用程序開(kāi)發(fā)提供了一個(gè)有凝聚力的框架。
它可以集成其他框架,如 Structs、Hibernate、EJB 等,所以又稱(chēng)為框架的框架。
列舉 Spring Framework 的優(yōu)點(diǎn)。
由于 Spring Frameworks 的分層架構(gòu),用戶(hù)可以自由選擇自己需要的組件。
Spring Framework 支持 POJO(Plain Old Java Object) 編程,從而具備持續(xù)集成和可測(cè)試性。
由于依賴(lài)注入和控制反轉(zhuǎn),JDBC 得以簡(jiǎn)化。
它是開(kāi)源免費(fèi)的。
Spring Framework 有哪些不同的功能?
輕量級(jí) - Spring 在代碼量和透明度方面都很輕便。
IOC - 控制反轉(zhuǎn)
AOP - 面向切面編程可以將應(yīng)用業(yè)務(wù)邏輯和系統(tǒng)服務(wù)分離,以實(shí)現(xiàn)高內(nèi)聚。
容器 - Spring 負(fù)責(zé)創(chuàng)建和管理對(duì)象(Bean)的生命周期和配置。
MVC - 對(duì) web 應(yīng)用提供了高度可配置性,其他框架的集成也十分方便。
事務(wù)管理 - 提供了用于事務(wù)管理的通用抽象層。Spring 的事務(wù)支持也可用于容器較少的環(huán)境。
JDBC 異常 - Spring 的 JDBC 抽象層提供了一個(gè)異常層次結(jié)構(gòu),簡(jiǎn)化了錯(cuò)誤處理策略。
什么是 Spring IOC 容器?
Spring 框架的核心是 Spring 容器。容器創(chuàng)建對(duì)象,將它們裝配在一起,配置它們并管理它們的完整生命周期。Spring 容器使用依賴(lài)注入來(lái)管理組成應(yīng)用程序的組件。容器通過(guò)讀取提供的配置元數(shù)據(jù)來(lái)接收對(duì)象進(jìn)行實(shí)例化,配置和組裝的指令。該元數(shù)據(jù)可以通過(guò) XML,Java 注解或 Java 代碼提供。
什么是依賴(lài)注入?
在依賴(lài)注入中,您不必創(chuàng)建對(duì)象,但必須描述如何創(chuàng)建它們。您不是直接在代碼中將組件和服務(wù)連接在一起,而是描述配置文件中哪些組件需要哪些服務(wù)。由 IoC 容器將它們裝配在一起。
可以通過(guò)多少種方式完成依賴(lài)注入?
通常,依賴(lài)注入可以通過(guò)三種方式完成,即:
構(gòu)造函數(shù)注入
setter 注入
接口注入
在 Spring Framework 中,僅使用構(gòu)造函數(shù)和 setter 注入。
區(qū)分構(gòu)造函數(shù)注入和 setter 注入。
構(gòu)造函數(shù)注入setter 注入沒(méi)有部分注入有部分注入不會(huì)覆蓋 setter 屬性會(huì)覆蓋 setter 屬性任意修改都會(huì)創(chuàng)建一個(gè)新實(shí)例任意修改不會(huì)創(chuàng)建一個(gè)新實(shí)例適用于設(shè)置很多屬性適用于設(shè)置少量屬性。
spring 中有多少種 IOC 容器?
BeanFactory - BeanFactory 就像一個(gè)包含 bean 集合的工廠類(lèi)。它會(huì)在客戶(hù)端要求時(shí)實(shí)例化 bean。
ApplicationContext - ApplicationContext 接口擴(kuò)展了 BeanFactory 接口。它在 BeanFactory 基礎(chǔ)上提供了一些額外的功能。
區(qū)分 BeanFactory 和 ApplicationContext。
BeanFactoryApplicationContext它使用懶加載它使用即時(shí)加載它使用語(yǔ)法顯式提供資源對(duì)象它自己創(chuàng)建和管理資源對(duì)象不支持國(guó)際化支持國(guó)際化不支持基于依賴(lài)的注解支持基于依賴(lài)的注解。
列舉 IoC 的一些好處。
IoC 的一些好處是:
它將最小化應(yīng)用程序中的代碼量。
它將使您的應(yīng)用程序易于測(cè)試,因?yàn)樗恍枰獑卧獪y(cè)試用例中的任何單例或 JNDI 查找機(jī)制。
它以最小的影響和最少的侵入機(jī)制促進(jìn)松耦合。
它支持即時(shí)的實(shí)例化和延遲加載服務(wù)。
什么是 spring bean?
它們是構(gòu)成用戶(hù)應(yīng)用程序主干的對(duì)象。
Bean 由 Spring IoC 容器管理。
它們由 Spring IoC 容器實(shí)例化,配置,裝配和管理。
Bean 是基于用戶(hù)提供給容器的配置元數(shù)據(jù)創(chuàng)建。

以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“Java面試題中Spring常問(wèn)問(wèn)題”的內(nèi)容,希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)推薦
最新最全java面試題及答案(初級(jí)到高級(jí))
相關(guān)閱讀
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)