Java筆試面試題:Spring常見面試題及答案分享

Java筆試面試題:Spring常見面試題及答案分享

長沙牛耳教育      2022-03-17 10:30:01     6

Java筆試面試題:Spring常見面試題及答案分享,Spring是java企業(yè)級應(yīng)用的開源開發(fā)框架,在企業(yè)中應(yīng)用較多。作為輕量級的Java開發(fā)框架解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建,小編為大

課程價格 請咨詢

上課時段: 授課校區(qū):

詳細(xì)介紹

Spring是java企業(yè)級應(yīng)用的開源開發(fā)框架,在企業(yè)中應(yīng)用較多。作為輕量級的Java開發(fā)框架解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建,小編為大家總結(jié)Spring常見面試題及答案,希望可以幫助正在面試的Java程序員。

1.spring是什么?

Spring是個java企業(yè)級應(yīng)用的開源開發(fā)框架。Spring主要用來開發(fā)Java應(yīng)用,但是有些擴(kuò)展是針對構(gòu)建J2EE平臺的web應(yīng)用。Spring框架目標(biāo)是簡化Java企業(yè)級應(yīng)用開發(fā),并通過POJO為基礎(chǔ)的編程模型促進(jìn)良好的編程習(xí)慣。

2.使用Spring框架的優(yōu)點(diǎn)?

  • 輕量:Spring是輕量的,基本的版本大約2MB。
  • 控制反轉(zhuǎn):Spring通過控制反轉(zhuǎn)實(shí)現(xiàn)了松散耦合,對象們給出它們的依賴,而不是創(chuàng)建或查找依賴的對象們。
  • 面向切面的編程(AOP):Spring支持面向切面的編程,并且把應(yīng)用業(yè)務(wù)邏輯和系統(tǒng)服務(wù)分開。
  • 容器:Spring包含并管理應(yīng)用中對象的生命周期和配置。
  • MVC框架:Spring的WEB框架是個精心設(shè)計(jì)的框架,是Web框架的一個很好的替代品。
  • 事務(wù)管理:Spring提供一個持續(xù)的事務(wù)管理接口,可以擴(kuò)展到上至本地事務(wù)下至全局事務(wù)(JTA)。
  • 異常處理:Spring提供方便的API把具體技術(shù)相關(guān)的異常(比如由JDBC,Hibernate or JDO拋出的)轉(zhuǎn)化為一致的unchecked異常。

3.Spring組成模塊有哪些?

Spring框架的基本模塊:

  • Core module
  • Bean module
  • Context module
  • expression Language module
  • JDBC module
  • ORM module
  • OXM module
  • Java Messaging Service(JMS)module
  • Transaction module
  • Web module
  • Web-Servlet module
  • Web-Struts module
  • Web-Portlet module

4.核心容器模塊有哪些?

提供spring框架的基礎(chǔ)功能,BeanFactory是任何以spring為基礎(chǔ)的應(yīng)用的核心。Spring框架建立在此模塊之上,使Spring成為一個容器。

5.XMLBeanFactory

最常用的就是org.springframework.beans.factory.xml.XmlBeanFactory,它根據(jù)XML文件中的定義加載beans。該容器從XML文件讀取配置元數(shù)據(jù)并用它去創(chuàng)建一個完全配置的系統(tǒng)或應(yīng)用。

6.解釋AOP模塊是什么?

AOP模塊用于發(fā)給我們的Spring應(yīng)用做面向切面的開發(fā),很多支持由AOP聯(lián)盟提供,這樣就確保了Spring和其他AOP框架的共通性。這個模塊將元數(shù)據(jù)編程引入Spring。

7.解釋JDBC抽象和DAO模塊。

通過使用JDBC抽象和DAO模塊,保證數(shù)據(jù)庫代碼的簡潔,并能避免數(shù)據(jù)庫資源錯誤關(guān)閉導(dǎo)致的問題,它在各種不同的數(shù)據(jù)庫的錯誤信息之上,提供了一個統(tǒng)一的異常訪問層。它還利用Spring的AOP模塊給Spring應(yīng)用中的對象提供事務(wù)管理服務(wù)。

8.解釋對象/關(guān)系映射集成模塊。

Spring通過提供ORM模塊,支持我們在直接JDBC之上使用一個對象/關(guān)系映射映射(ORM)工具,Spring支持集成主流的ORM框架,如Hiberate,JDO和iBATIS SQLMaps。Spring的事務(wù)管理同樣支持以上所有ORM框架及JDBC。

9.解釋W(xué)EB模塊。

Spring的WEB模塊是構(gòu)建在application context模塊基礎(chǔ)之上,提供一個適合web應(yīng)用的上下文。這個模塊也包括支持多種面向web的任務(wù),如透明地處理多個文件上傳請求和程序級請求參數(shù)的綁定到你的業(yè)務(wù)對象。它也有對Jakarta Struts的支持。

10.Spring配置文件

Spring配置文件是個XML文件,文件包含了類信息,描述了如何配置它們,以及如何相互調(diào)用。

11.IOC的優(yōu)點(diǎn)是什么?

IOC或依賴注入把應(yīng)用的代碼量降到最低。它使應(yīng)用容易測試,單元測試不再需要單例和JNDI查找機(jī)制。最小的代價和最小的侵入性使松散耦合得以實(shí)現(xiàn)。IOC容器支持加載服務(wù)時的餓漢式初始化和懶加載。

12.ApplicationContext實(shí)現(xiàn)方式

FileSystemXmlApplicationContext:此容器從一個XML文件中加載beans的定義,XML Bean配置文件的全路徑名必須提供給它的構(gòu)造函數(shù)。ClassPathXmlApplicationContext:此容器也從一個XML文件中加載beans的定義,這里,你需要正確設(shè)置classpath因?yàn)檫@個容器將在classpath里找bean配置。WebXmlApplicationContext:此容器加載一個XML文件,此文件定義了一個WEB應(yīng)用的所有bean。

13.Spring依賴注入是什么?

依賴注入是IOC的一個方面,有多種解釋。這概念是說你不用創(chuàng)建對象,而只需要描述它如何被創(chuàng)建。你不在代碼里直接組裝你的組件和服務(wù),但是要在配置文件里描述哪些組件需要哪些服務(wù),之后一個容器(IOC容器)負(fù)責(zé)把他們組裝起來。

14.有哪些不同類型的IOC依賴注入方式?

構(gòu)造器依賴注入:構(gòu)造器依賴注入通過容器觸發(fā)一個類的構(gòu)造器來實(shí)現(xiàn)的,該類有一系列參數(shù),每個參數(shù)代表一個對其他類的依賴。

Setter方法注入:Setter方法注入是容器通過調(diào)用無參構(gòu)造器或無參static工廠方法實(shí)例化bean之后,調(diào)用該bean的setter方法,即實(shí)現(xiàn)了基于setter的依賴注入。

15.Spring容器配置元數(shù)據(jù)?

Spring容器提供配置元數(shù)據(jù)

XML配置文件;基于注解的配置;基于java的配置。

以上就是長沙牛耳教育java培訓(xùn)機(jī)構(gòu)的小編針對“Java筆試面試題:Spring常見面試題及答案分享”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時為你服務(wù)。

Java筆試題

培訓(xùn)啦提醒您:交易時請核實(shí)對方資質(zhì),對于過大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險(xiǎn),謹(jǐn)防上當(dāng)。