更新時間:2019-11-28 11:37:26 來源:動力節(jié)點 瀏覽2708次
一.Spring框架的作用
輕量:Spring是輕量級的,基本的版本大小為2MB
控制反轉(zhuǎn):Spring通過控制反轉(zhuǎn)實現(xiàn)了松散耦合,對象們給出它們的依賴,而不是創(chuàng)建或查找依賴的對象們。
面向切面的編程AOP:Spring支持面向切面的編程,并且把應(yīng)用業(yè)務(wù)邏輯和系統(tǒng)服務(wù)分開。
容器:Spring包含并管理應(yīng)用中對象的生命周期和配置
MVC框架:Spring-MVC
事務(wù)管理:Spring提供一個持續(xù)的事務(wù)管理接口,可以擴展到上至本地事務(wù)下至全局事務(wù)JTA
異常處理:Spring提供方便的API把具體技術(shù)相關(guān)的異常
二.Spring的組成
Spring由7個模塊組成:
SpringCore:核心容器提供Spring框架的基本功能。核心容器的主要組件是BeanFactory,它是工廠模式的實現(xiàn)。BeanFactory使用控制反轉(zhuǎn)(IOC)模式將應(yīng)用程序的配置和依賴性規(guī)范與實際的應(yīng)用程序代碼分開。
Spring上下文:Spring上下文是一個配置文件,向Spring框架提供上下文信息。Spring上下文包括企業(yè)服務(wù),例如JNDI、EJB、電子郵件、國際化、校驗和調(diào)度功能。
SpringAOP:通過配置管理特性,SpringAOP模塊直接將面向方面的編程功能集成到了Spring框架中。所以,可以很容易地使Spring框架管理的任何對象支持AOP。SpringAOP模塊為基于Spring的應(yīng)用程序中的對象提供了事務(wù)管理服務(wù)。通過使用SpringAOP,不用依賴EJB組件,就可以將聲明性事務(wù)管理集成到應(yīng)用程序中。
SpringDAO:JDBCDAO抽象層提供了有意義的異常層次結(jié)構(gòu),可用該結(jié)構(gòu)來管理異常處理和不同數(shù)據(jù)庫供應(yīng)商拋出的錯誤消息。異常層次結(jié)構(gòu)簡化了錯誤處理,并且極大地降低了需要編寫的異常代碼數(shù)量(例如打開和關(guān)閉連接)。SpringDAO的面向JDBC的異常遵從通用的DAO異常層次結(jié)構(gòu)。
SpringORM:Spring框架插入了若干個ORM框架,從而提供了ORM的對象關(guān)系工具,其中包括JDO、Hibernate和iBatisSQLMap。所有這些都遵從Spring的通用事務(wù)和DAO異常層次結(jié)構(gòu)。
SpringWeb模塊:Web上下文模塊建立在應(yīng)用程序上下文模塊之上,為基于Web的應(yīng)用程序提供了上下文。所以,Spring框架支持與JakartaStruts的集成。Web模塊還簡化了處理多部分請求以及將請求參數(shù)綁定到域?qū)ο蟮墓ぷ鳌?/p>
SpringMVC框架:MVC框架是一個全功能的構(gòu)建Web應(yīng)用程序的MVC實現(xiàn)。通過策略接口,MVC框架變成為高度可配置的,MVC容納了大量視圖技術(shù),其中包括JSP、Velocity、Tiles、iText和POI。
三.Spring容器
Sping的容器可以分為兩種類型
1.BeanFactory:(org.springframework.beans.factory.BeanFactory接口定義)是最簡答的容器,提供了基本的DI支持。最常用的BeanFactory實現(xiàn)就是XmlBeanFactory類,它根據(jù)XML文件中的定義加載beans,該容器從XML文件讀取配置元數(shù)據(jù)并用它去創(chuàng)建一個完全配置的系統(tǒng)或應(yīng)用。
2.ApplicationContext應(yīng)用上下文:(org.springframework.context.ApplicationContext)基于BeanFactory之上構(gòu)建,并提供面向應(yīng)用的服務(wù)。
四.ApplicationContext通常的實現(xiàn)
ClassPathXmlApplicationContext:從類路徑下的XML配置文件中加載上下文定義,把應(yīng)用上下文定義文件當做類資源。
FileSystemXmlApplicationContext:讀取文件系統(tǒng)下的XML配置文件并加載上下文定義。
XmlWebApplicationContext:讀取Web應(yīng)用下的XML配置文件并裝載上下文定義。
1ApplicationContextcontext=newClassPathXmlApplicationContext("applicationContext.xml");
五.IOC&DI
InversionofControl,一般分為兩種類型:依賴注入DI(DependencyInjection)和依賴查找(DependencyLookup).依賴注入應(yīng)用比較廣泛。
SpringIOC扶著創(chuàng)建對象,管理對象(DI),裝配對象,配置對象,并且管理這些對象的整個生命周期。
優(yōu)點:把應(yīng)用的代碼量降到最低。容器測試,最小的代價和最小的侵入性使松散耦合得以實現(xiàn)。IOC容器支持加載服務(wù)時的餓漢式初始化和懶加載。
DI依賴注入是IOC的一個方面,是個通常的概念,它有多種解釋。這概念是說你不用床架對象,而只需要描述它如何被創(chuàng)建。你不在代碼里直接組裝你的組件和服務(wù),但是要在配置文件里描述組件需要哪些服務(wù),之后一個IOC容器輔助把他們組裝起來。
IOC的注入方式:1.構(gòu)造器依賴注入;2.Setter方法注入。
六.如何給spring容器提供配置元數(shù)據(jù)
XML配置文件
基于注解的配置
基于Java的配置@Configuration,@Bean
七.bean標簽中的屬性:
id
name
class
init-method:Bean實例化后會立刻調(diào)用的方法
destory-method:Bean從容器移除和銷毀前,會調(diào)用的方法
factory-method:運行我們調(diào)用一個指定的靜態(tài)方法,從而代替構(gòu)造方法來創(chuàng)建一個類的實例。
scope:Bean的作用域,包括singleton(默認),prototype(每次調(diào)用都創(chuàng)建一個實例),request,session,global-session(注意spring中的單例bean不是線程安全的)
autowired:自動裝配byName,byType,constructor,autodetect(首先闡釋使用constructor自動裝配,如果沒有發(fā)現(xiàn)與構(gòu)造器相匹配的Bean時,Spring將嘗試使用byType自動裝配)
八.beans標簽中相關(guān)屬性
default-init-method
default-destory-method
default-autowire:默認為none,應(yīng)用于Spring配置文件中的所有Bean,注意這里不是指Spring應(yīng)用上下文,因為你可以定義多個配置文件。
Java學(xué)習(xí)視頻入門到精通
最新java視頻教程免費下載(從入門到精通):http://www.ilovecolors.com.cn/video.html
零基礎(chǔ)java自學(xué)教程:http://www.ilovecolors.com.cn/tutorial_java_se/
以上就是動力節(jié)點java學(xué)院小編針對“如何學(xué)習(xí)Java開源框架Spring的知識點”的內(nèi)容進行的回答,希望對大家有所幫助,如果對于學(xué)習(xí)Java的學(xué)習(xí)計劃,怎么學(xué)才有效率,或者學(xué)完如果找工作的問題,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
相關(guān)推薦
零基礎(chǔ)學(xué)Java編程,這些內(nèi)容你一定要知道
學(xué)習(xí)Java編程了解一些免費Java開發(fā)工具
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743