新聞中心
Spring的七個(gè)核心模塊,供大家參考,具體內(nèi)容如下
1、Spring core:核心容器
核心容器提供spring框架的基本功能。Spring以bean的方式組織和管理Java應(yīng)用中的各個(gè)組件及其關(guān)系。Spring使用BeanFactory來產(chǎn)生和管理Bean,它是工廠模式的實(shí)現(xiàn)。BeanFactory使用控制反轉(zhuǎn)(IoC)模式將應(yīng)用的配置和依賴性規(guī)范與實(shí)際的應(yīng)用程序代碼分開。BeanFactory使用依賴注入的方式提供給組件依賴。主要實(shí)現(xiàn)控制反轉(zhuǎn)IoC和依賴注入DI、Bean配置以及加載。
2、Spring AOP:Spring面向切面編程
通過配置管理特性,Spring AOP 模塊直接將面向方面的編程功能集成到了Spring框架中。所以,可以很容易地使 Spring框架管理的任何對(duì)象支持 AOP。Spring AOP 模塊為基于 Spring 的應(yīng)用程序中的對(duì)象提供了事務(wù)管理服務(wù)。通過使用 Spring AOP,不用依賴 EJB 組件,就可以將聲明性事務(wù)管理集成到應(yīng)用程序中。AOP把一個(gè)業(yè)務(wù)流程分成幾部分,例如權(quán)限檢查、業(yè)務(wù)處理、日志記錄,每個(gè)部分單獨(dú)處理,然后把它們組裝成完整的業(yè)務(wù)流程。每個(gè)部分被稱為切面或關(guān)注點(diǎn)。
AOP的實(shí)現(xiàn)原理為動(dòng)態(tài)代理技術(shù),一共有兩種代理模式:
(1)ProxyFactoryBean代理工廠對(duì)象
Spring內(nèi)置代理類,引入一個(gè)中間層,能夠創(chuàng)建不同類型的對(duì)象,利用它可以實(shí)現(xiàn)任何形式的AOP。
(2)TransactionProxyFactoryBean事務(wù)代理工廠對(duì)象
常用在數(shù)據(jù)庫(kù)編程上,Spring利用TransactionProxyFactoryBean對(duì)事務(wù)進(jìn)行管理,在指定方法前利用AOP連接數(shù)據(jù)庫(kù)并開啟事務(wù),然后在指定方法返回后利用AOP提交事務(wù)并斷開數(shù)據(jù)庫(kù)。
3、Spring context:Spring上下文
Spring上下文是一個(gè)配置文件,向Spring框架提供上下文信息。Spring上下文包括企業(yè)服務(wù),如JNDI、EJB、電子郵件、國(guó)際化、校驗(yàn)和調(diào)度功能。提供框架式Bean訪問方式,其他程序可以通過Context訪問Spring的Bean資源。
4、Spring DAO
DAO模塊主要目的是將持久層相關(guān)問題與一般的的業(yè)務(wù)規(guī)則和工作流隔離開來。Spring 中的DAO提供一致的方式訪問數(shù)據(jù)庫(kù),不管采用何種持久化技術(shù),Spring都提供一致的編程模型。Spring還對(duì)不同的持久層技術(shù)提供一致的DAO方式的異常層次結(jié)構(gòu)。Spring的DAO模塊對(duì)JDBC進(jìn)行了再封裝,隱藏了Connection、Statement、ResultSet等JDBC API,使DAO模塊直接繼承JdbcDaoSupport類。
5、Spring ORM(Object Relation Mapper)對(duì)象關(guān)系映射模塊
Spring 與所有的主要的ORM框架都集成的很好,包括hibernate、JDO實(shí)現(xiàn)、TopLink和IBatis SQL Map等。Spring為所有的這些框架提供了模板之類的輔助類,達(dá)成了一致的編程風(fēng)格。
Spring的ORM模塊對(duì)ORM框架如Hibernate等進(jìn)行了封裝,Spring能夠管理、維護(hù)Hibernate,使用時(shí)可直接繼承HibernateDaoSupport類,該類內(nèi)置一個(gè)HibernateTemplate。Hibernate的配置也轉(zhuǎn)移到Spring配置文件中。
(注:ORM是通過使用描述對(duì)象和數(shù)據(jù)庫(kù)之間映射的元數(shù)據(jù),ORM框架采用元數(shù)據(jù)來描述對(duì)象--關(guān)系映射細(xì)節(jié),元數(shù)據(jù)一般采用xml格式,并且存放在專門的對(duì)象--映射文件中)
6、Spring Web模塊
Web模塊建立在應(yīng)用程序上下文模塊之上,為基于Web的應(yīng)用程序提供了上下文。Web層使用Web層框架,可選的,可以是Spring自己的MVC框架,或者提供的Web框架,如Struts、Webwork、tapestry和jsf。
Web模塊用于整合Web框架,將Web框架也納入Spring的管理之中。如Spring提供繼承方式與代理方式整合Struts,繼承方式不需要更改任何配置文件,只把Action繼承自ActionSupport即可,但會(huì)對(duì)Spring產(chǎn)生依賴。代理方式需要在struts-config.xml中配置
7、Spring MVC
MVC框架是一個(gè)全功能的構(gòu)建Web應(yīng)用程序的MVC實(shí)現(xiàn)。通過策略接口,MVC框架變成為高度可配置的。Spring的MVC框架提供清晰的角色劃分:控制器、驗(yàn)證器、命令對(duì)象、表單對(duì)象和模型對(duì)象、分發(fā)器、處理器映射和視圖解析器。Spring支持多種視圖技術(shù)。
Spring MVC 的工作流程:
(1) 客戶端發(fā)送請(qǐng)求,請(qǐng)求到達(dá) DispatcherServlet 主控制器。
(2) DispatcherServlet 控制器調(diào)用 HandlerMapping 處理。
(3) HandlerMapping 負(fù)責(zé)維護(hù)請(qǐng)求和 Controller 組件對(duì)應(yīng)關(guān)系。 HandlerMapping 根據(jù)請(qǐng)求調(diào)用對(duì)應(yīng)的 Controller 組件處理。
(4) 執(zhí)行 Controller 組件的業(yè)務(wù)處理,需要訪問數(shù)據(jù)庫(kù),可以調(diào)用 DAO 等組件。
(5)Controller 業(yè)務(wù)方法處理完畢后,會(huì)返回一個(gè) ModelAndView 對(duì)象。該組件封裝了模型數(shù)據(jù)和視圖標(biāo)識(shí)。
(6)Servlet 主控制器調(diào)用 ViewResolver 組件,根據(jù) ModelAndView 信息處理。定位視圖資源,生成視圖響應(yīng)信息。
(7)控制器將響應(yīng)信息給用戶輸出。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
分享題目:七個(gè)Spring核心模塊詳解-創(chuàng)新互聯(lián)
文章鏈接:http://www.dlmjj.cn/article/dgsheg.html