更新時(shí)間:2019-12-17 15:29:09 來源:動力節(jié)點(diǎn) 瀏覽2489次
Spring 早已成為 Java 后端開發(fā)事實(shí)上的行業(yè)標(biāo)準(zhǔn),無數(shù)的公司選擇 Spring 作為基礎(chǔ)的開發(fā)框架,大部分 Java 后端程序員在日常工作中也會接觸到 Spring,那么,你對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è)開源應(yīng)用框架,旨在降低應(yīng)用程序開發(fā)的復(fù)雜度。
它是輕量級、松散耦合的。
它具有分層體系結(jié)構(gòu),允許用戶選擇組件,同時(shí)還為 J2EE 應(yīng)用程序開發(fā)提供了一個(gè)有凝聚力的框架。
它可以集成其他框架,如 Structs、Hibernate、EJB 等,所以又稱為框架的框架。
列舉 Spring Framework 的優(yōu)點(diǎn)。
由于 Spring Frameworks 的分層架構(gòu),用戶可以自由選擇自己需要的組件。
Spring Framework 支持 POJO(Plain Old Java Object) 編程,從而具備持續(xù)集成和可測試性。
由于依賴注入和控制反轉(zhuǎn),JDBC 得以簡化。
它是開源免費(fèi)的。
Spring Framework 有哪些不同的功能?
輕量級 - Spring 在代碼量和透明度方面都很輕便。
IOC - 控制反轉(zhuǎn)
AOP - 面向切面編程可以將應(yīng)用業(yè)務(wù)邏輯和系統(tǒng)服務(wù)分離,以實(shí)現(xiàn)高內(nèi)聚。
容器 - Spring 負(fù)責(zé)創(chuàng)建和管理對象(Bean)的生命周期和配置。
MVC - 對 web 應(yīng)用提供了高度可配置性,其他框架的集成也十分方便。
事務(wù)管理 - 提供了用于事務(wù)管理的通用抽象層。Spring 的事務(wù)支持也可用于容器較少的環(huán)境。
JDBC 異常 - Spring 的 JDBC 抽象層提供了一個(gè)異常層次結(jié)構(gòu),簡化了錯(cuò)誤處理策略。
什么是 Spring IOC 容器?
Spring 框架的核心是 Spring 容器。容器創(chuàng)建對象,將它們裝配在一起,配置它們并管理它們的完整生命周期。Spring 容器使用依賴注入來管理組成應(yīng)用程序的組件。容器通過讀取提供的配置元數(shù)據(jù)來接收對象進(jìn)行實(shí)例化,配置和組裝的指令。該元數(shù)據(jù)可以通過 XML,Java 注解或 Java 代碼提供。
什么是依賴注入?
在依賴注入中,您不必創(chuàng)建對象,但必須描述如何創(chuàng)建它們。您不是直接在代碼中將組件和服務(wù)連接在一起,而是描述配置文件中哪些組件需要哪些服務(wù)。由 IoC 容器將它們裝配在一起。
可以通過多少種方式完成依賴注入?
通常,依賴注入可以通過三種方式完成,即:
構(gòu)造函數(shù)注入
setter 注入
接口注入
在 Spring Framework 中,僅使用構(gòu)造函數(shù)和 setter 注入。
區(qū)分構(gòu)造函數(shù)注入和 setter 注入。
構(gòu)造函數(shù)注入setter 注入沒有部分注入有部分注入不會覆蓋 setter 屬性會覆蓋 setter 屬性任意修改都會創(chuàng)建一個(gè)新實(shí)例任意修改不會創(chuàng)建一個(gè)新實(shí)例適用于設(shè)置很多屬性適用于設(shè)置少量屬性。
spring 中有多少種 IOC 容器?
BeanFactory - BeanFactory 就像一個(gè)包含 bean 集合的工廠類。它會在客戶端要求時(shí)實(shí)例化 bean。
ApplicationContext - ApplicationContext 接口擴(kuò)展了 BeanFactory 接口。它在 BeanFactory 基礎(chǔ)上提供了一些額外的功能。
區(qū)分 BeanFactory 和 ApplicationContext。
BeanFactoryApplicationContext它使用懶加載它使用即時(shí)加載它使用語法顯式提供資源對象它自己創(chuàng)建和管理資源對象不支持國際化支持國際化不支持基于依賴的注解支持基于依賴的注解。
列舉 IoC 的一些好處。
IoC 的一些好處是:
它將最小化應(yīng)用程序中的代碼量。
它將使您的應(yīng)用程序易于測試,因?yàn)樗恍枰獑卧獪y試用例中的任何單例或 JNDI 查找機(jī)制。
它以最小的影響和最少的侵入機(jī)制促進(jìn)松耦合。
它支持即時(shí)的實(shí)例化和延遲加載服務(wù)。
什么是 spring bean?
它們是構(gòu)成用戶應(yīng)用程序主干的對象。
Bean 由 Spring IoC 容器管理。
它們由 Spring IoC 容器實(shí)例化,配置,裝配和管理。
Bean 是基于用戶提供給容器的配置元數(shù)據(jù)創(chuàng)建。
以上就是動力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“Java面試題中Spring常問問題”的內(nèi)容,希望對大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)推薦
最新最全java面試題及答案(初級到高級)
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743