最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

Spring面試題(一)

2021-07-02 21:43 作者:zjlala96  | 我要投稿

1、簡單介紹一下 Spring bean 的生命周期

1.實(shí)例化 Instantiation

2.屬性賦值 Populate

3.初始化 Initialization

4.銷毀 Destruction

?

2、Spring 各模塊結(jié)構(gòu)


(1)核心容器:包括 Core、Beans、Context、EL 模塊。

Core 模塊:封裝了框架依賴的最底層部分,包括資源訪問、類型轉(zhuǎn)換及一些常用工具類。Beans 模塊:提供了框架的基礎(chǔ)部分,包括反轉(zhuǎn)控制和依賴注入。其中 Bean Factory 是容器核心,本質(zhì)是“工廠設(shè)計(jì)模式”的實(shí)現(xiàn),而且無需編程實(shí)現(xiàn)“單例設(shè)計(jì)模式”,單例完全由容器控制,而且提倡面向接口編程,而非面向?qū)崿F(xiàn)編程;所有應(yīng)用程序?qū)ο蠹皩?duì)象間關(guān)系由框架管理,從而真正把你從程序邏輯中把維護(hù)對(duì)象之間的依賴關(guān)系提取出來,所有這些依賴關(guān)系都由 BeanFactory 來維護(hù)。

Context 模塊:以 Core 和 Beans 為基礎(chǔ),集成 Beans 模塊功能并添加資源綁定、數(shù)據(jù)驗(yàn)證、國際化、Java EE 支持、容器生命周期、事件傳播等;核心接口是 applicationContext。

EL 模塊:提供強(qiáng)大的表達(dá)式語言支持,支持訪問和修改屬性值,方法調(diào)用,支持訪問及修改數(shù)組、容器和索引器,命名變量,支持算數(shù)和邏輯運(yùn)算,支持從 Spring 容器獲取 Bean,它也支持列表投影、選擇和一般的列表聚合等。

(2)AOP、Aspects 模塊:

AOP 模塊:Spring AOP 模塊提供了符合 AOP Alliance 規(guī)范的面向方面的編程(aspect-oriented programming)實(shí)現(xiàn),提供比如日志記錄、權(quán)限控制、性能統(tǒng)計(jì)等通用功能和業(yè)務(wù)邏輯分離的技術(shù),并且能動(dòng)態(tài)的把這些功能添加到需要的代碼中;這樣各專其職,降低業(yè)務(wù)邏輯和通用功能的耦合。

Aspects 模塊:提供了對(duì) AspectJ 的集成,AspectJ 提供了比 Spring ASP 更強(qiáng)大的功能。

數(shù)據(jù)訪問/集成模塊:該模塊包括了 JDBC、ORM、OXM、JMS 和事務(wù)管理。

事務(wù)模塊:該模塊用于 Spring 管理事務(wù),只要是 Spring 管理對(duì)象都能得到 Spring 管理事務(wù)的好處,無需在代碼中進(jìn)行事務(wù)控制了,而且支持編程和聲明性的事務(wù)管理。

(3)Data Access相關(guān)模塊

JDBC 模塊:提供了一個(gè) JBDC 的樣例模板,使用這些模板能消除傳統(tǒng)冗長的 JDBC 編碼還有必須的事務(wù)控制,而且能享受到 Spring 管理事務(wù)的好處。

ORM 模塊:提供與流行的“對(duì)象-關(guān)系”映射框架的無縫集成,包括 Hibernate、JPA、MyBatis 等。而且可以使用 Spring 事務(wù)管理,無需額外控制事務(wù)。

OXM 模塊:提供了一個(gè)對(duì) Object/XML 映射實(shí)現(xiàn),將 java 對(duì)象映射成 XML 數(shù)據(jù),或者將 XML 數(shù)據(jù)映射成 java對(duì)象,Object/XML 映射實(shí)現(xiàn)包括 JAXB、Castor、XMLBeans 和 XStream。

JMS 模塊:用于 JMS(Java Messaging Service),提供一套 “消息生產(chǎn)者、消息消費(fèi)者”模板用于更加簡單的使用 JMS,JMS 用于用于在兩個(gè)應(yīng)用程序之間,或分布式系統(tǒng)中發(fā)送消息,進(jìn)行異步通信。

(4)web相關(guān)模塊

Web/Remoting 模塊:Web/Remoting 模塊包含了 Web、Web-Servlet、Web-Struts、Web-Porlet 模塊。

Web 模塊:提供了基礎(chǔ)的 web 功能。例如多文件上傳、集成 IoC 容器、遠(yuǎn)程過程訪問(RMI、Hessian、Burlap)以及 Web Service 支持,并提供一個(gè) RestTemplate 類來提供方便的 Restful services 訪問。

Web-Servlet 模塊:提供了一個(gè) Spring MVC Web 框架實(shí)現(xiàn)。Spring MVC 框架提供了基于注解的請求資源注入、更簡單的數(shù)據(jù)綁定、數(shù)據(jù)驗(yàn)證等及一套非常易用的 JSP 標(biāo)簽,完全無縫與 Spring 其他技術(shù)協(xié)作。

Web-Struts 模塊:提供了與 Struts 無縫集成,Struts1.x 和 Struts2.x 都支持

(5)Test 模塊: Spring 支持 Junit 和 TestNG 測試框架,而且還額外提供了一些基于 Spring 的測試功能,比如在測試 Web 框架時(shí),模擬 Http 請求的功能。

2、Spring 能幫我們做什么?

a. Spring 能幫我們根據(jù)配置文件創(chuàng)建及組裝對(duì)象之間的依賴關(guān)系。Spring 根據(jù)配置文件來進(jìn)行創(chuàng)建及組裝對(duì)象間依賴關(guān)系,只需要改配置文件即可

b. Spring 面向切面編程能幫助我們無耦合的實(shí)現(xiàn)日志記錄,性能統(tǒng)計(jì),安全控制。Spring 面向切面編程能提供一種更好的方式來完成,一般通過配置方式,而且不需要在現(xiàn)有代碼中添加任何額外代碼,現(xiàn)有代碼專注業(yè)務(wù)邏輯。

c. Spring 能非常簡單的幫我們管理數(shù)據(jù)庫事務(wù)。采用 Spring,我們只需獲取連接,執(zhí)行 SQL,其他事物相關(guān)的都交給 Spring 來管理了。

d. Spring 還能與第三方數(shù)據(jù)庫訪問框架(如 Hibernate、JPA)無縫集成,而且自己也提供了一套 JDBC訪問模板,來方便數(shù)據(jù)庫訪問。

e. Spring 還能與第三方 Web(如 Struts、JSF)框架無縫集成,而且自己也提供了一套 Spring MVC框架,來方便 web 層搭建。

f. Spring 能方便的與 Java EE(如 Java Mail、任務(wù)調(diào)度)整合,與更多技術(shù)整合(比如緩存框架)。

更多面試題可關(guān)注"demo鎖屏面試題"公眾號(hào)通過小程序或app學(xué)習(xí)面試題

掃碼關(guān)注



Spring面試題(一)的評(píng)論 (共 條)

分享到微博請遵守國家法律
磐石市| 岢岚县| 灌云县| 武乡县| 永善县| 句容市| 西和县| 司法| 霍山县| 洛宁县| 常德市| 张掖市| 晋城| 伊宁县| 深圳市| 游戏| 鄂尔多斯市| 什邡市| 嘉黎县| 海晏县| 德江县| 湘潭县| 济阳县| 蚌埠市| 同仁县| 铜陵市| 固阳县| 永寿县| 桐柏县| 虎林市| 晋州市| 溧阳市| 灵台县| 渝中区| 登封市| 吴江市| 苍梧县| 闻喜县| 泗水县| 大城县| 百色市|