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