今天由千鋒Java培訓(xùn)老師分享Java常見面試題,是spring專場,主要是針對spring總結(jié)的面試題,有需要的小伙伴可以收入囊中了!
1、 Spring Framework 中有多少個模塊,它們分別是什么?
Spring 核心容器 – 該層基本上是 Spring Framework 的核心。它包含以下模塊:
Spring Core
Spring Bean
SpEL (Spring Expression Language)
Spring Context
數(shù)據(jù)訪問/集成 – 該層提供與數(shù)據(jù)庫交互的支持。它包含以下模塊:
JDBC (Java DataBase Connectivity)
ORM (Object Relational Mapping)
OXM (Object XML Mappers)
JMS (Java Messaging Service)
Transaction
Web – 該層提供了創(chuàng)建 Web 應(yīng)用程序的支持。它包含以下模塊:
Web
Web – Servlet
Web – Socket
Web – Portlet
AOP – 該層支持面向切面編程
Instrumentation – 該層為類檢測和類加載器實現(xiàn)提供支持。
Test – 該層為使用 JUnit 和 TestNG 進行測試提供支持。
幾個雜項模塊:
Messaging – 該模塊為 STOMP 提供支持。它還支持注解編程模型,該模型用于從 WebSocket 客戶端路由和處理 STOMP 消息。
Aspects – 該模塊為與 AspectJ 的集成提供支持。
2、什么是 Spring 配置文件?
Spring 配置文件是 XML 文件。該文件主要包含類信息。它描述了這些類是如何配置以及相互引入的。但是,XML 配置文件冗長且更加干凈。如果沒有正確規(guī)劃和編寫,那么在大項目中管理變得非常困難。
3、Spring 應(yīng)用程序有哪些不同組件?
Spring 應(yīng)用一般有以下組件:
接口 - 定義功能。
Bean 類 - 它包含屬性,setter 和 getter 方法,函數(shù)等。
Spring 面向切面編程(AOP) - 提供面向切面編程的功能。
Bean 配置文件 - 包含類的信息以及如何配置它們。
用戶程序 - 它使用接口。
4、spring 中有多少種 IOC 容器?
BeanFactory - BeanFactory 就像一個包含 bean 集合的工廠類。它會在客戶端要求時實例化 bean。
ApplicationContext - ApplicationContext 接口擴展了 BeanFactory 接口。它在 BeanFactory 基礎(chǔ)上提供了一些額外的功能。
5、spring 支持集中 bean scope?
Spring bean 支持 5 種 scope:
Singleton - 每個 Spring IoC 容器僅有一個單實例。
Prototype - 每次請求都會產(chǎn)生一個新的實例。
Request - 每一次 HTTP 請求都會產(chǎn)生一個新的實例,并且該 bean 僅在當(dāng)前 HTTP 請求內(nèi)有效。
Session - 每一次 HTTP 請求都會產(chǎn)生一個新的 bean,同時該 bean 僅在當(dāng)前 HTTP session 內(nèi)有效。
Global-session - 類似于標(biāo)準(zhǔn)的 HTTP Session 作用域,不過它僅僅在基于 portlet 的 web 應(yīng)用中才有意義。Portlet 規(guī)范定義了全局 Session 的概念,它被所有構(gòu)成某個 portlet web 應(yīng)用的各種不同的 portlet 所共享。在 global session 作用域中定義的 bean 被限定于全局 portlet Session 的生命周期范圍內(nèi)。如果你在 web 中使用 global session 作用域來標(biāo)識 bean,那么 web 會自動當(dāng)成 session 類型來使用。
僅當(dāng)用戶使用支持 Web 的 ApplicationContext 時,最后三個才可用。
6、Spring MVC 框架有什么用?
Spring Web MVC 框架提供 模型-視圖-控制器 架構(gòu)和隨時可用的組件,用于開發(fā)靈活且松散耦合的 Web 應(yīng)用程序。 MVC 模式有助于分離應(yīng)用程序的不同方面,如輸入邏輯,業(yè)務(wù)邏輯和 UI 邏輯,同時在所有這些元素之間提供松散耦合。
千鋒教育作為國內(nèi)知名的java培訓(xùn)機構(gòu),一直秉承用良心做教育的理念。歡迎你到千鋒來免費試聽試學(xué)java。Java培訓(xùn)機構(gòu)哪個好?學(xué)java就選千鋒教育。
學(xué)Java也可參考千鋒提供的java學(xué)習(xí)路線,該學(xué)習(xí)路線羅列了各階段完整的java學(xué)習(xí)知識,根據(jù)千鋒提供的java學(xué)習(xí)路線圖,可以讓你對學(xué)好java開發(fā)需要掌握的知識有個清晰的了解,并能快速入門java開發(fā)。