初步瞭解Spring
Spring是一個輕量級框架,用於組織中間層物件,如Hibernate和struts,實現中介軟體之間的高度解耦,是真正的面向介面程式設計,spring擁有20多個模組,包括核心容器,資料訪問整合,Wb(serlvet,web),AOP模組等,相當於一個完整平臺!如果把Tocamcat比做插座,那麼spring就是才能夠其中一個插位延伸出來的排插!
1----核心容器(Core Context):以Beans和Core為基礎實現了BeanFactory類,提供了IOC和依賴注入,而Context就在Bean和Core的基礎上整合,添加了國際化,資源載入,校驗(監聽)等功能
2----資料整合訪問模組(JDBC , ORM , Transaction):此部分提供的是一套連線資料庫的程式化的程式碼,減少了開發過程中連線失敗,或者釋放失敗引起的一系列問題!Transction為事務模組,提供了對特定事務的支援,但是必須要求使用者實現特定的 介面!
3----Web模組:提供了Servlet支援,web支援,和Struats支援。Web提供了面向web的整合功能,如檔案上傳,使用監聽器初始化IOC容器和Web上下文!而Servlet則是提供了模型-檢視-控制器的實現
4----AOP模組:面向切面程式設計的實現,提供了攔截器和類似日誌的切點,降低了耦合性並可以將某些橫向行為插入到業務中!
5---Test模組:提供了Junit的測試功能,提供了一致的applicationContext並快取上下文!
============================================================================
原版本Spring結構如下:
1---applicationContext.xml檔案:用於配置基本的引數資訊,載入Beans物件檔案(最初的Spring每個物件都會有一個hbm.xml檔案),攔截器,dataSource資料來源,sessionFactor工廠,Hibernate框架,事務管理等!
2---User.hbm.xml檔案:維護了這個物件裡面屬性的特點還有方法型別!
將java程式碼中物件間的依賴關係的控制權交給了Spring配置檔案,由Spring來生成物件,並且設定物件間的依賴關係,這就是控制反轉(IOC)或者叫依賴注入(DI),控制反轉是指原本是由哪個Servlet物件呼叫哪個物件,那麼就由該Servlet物件去負責建立被呼叫者的例項。現在建立物件的權利被Sprng的IOC容器接受了,所以稱控制物件唄反轉了!而依賴注入是指原本引用一個物件需要外掛例項後通過例項呼叫,現在由於物件的建立都交給了Spring的IOC容器,我們可以直接在Servlet程式碼中通過配置或者註解依賴的方式注入!
在結合SpringMvc後的結構分析:
spring相當是一個外接延伸的排插,根據web專案的特點,我們同樣需要在web.xml中維護其資訊
//提高整合的融合度
|
到這一步,關於spring的資訊就基本載入到web專案中,那麼還需要兩個檔案用於配置spring框架所帶來的簡約化處理!
配置檔案:
在resources包的 applicationContext.xml下配置Spring的全域性掃描,以及AOP切面,以及外屬性檔案連線,定時排程等
|
其中datasource.properties是用於載入資料庫連線的配置資訊,而applicationContext-datasource.xml則是用於讀取datasource的配置檔案,裡面除了維護以xml讀取到的資料庫連線資訊外, 還建立了sessionFactory()用於連線資料庫!以及資料庫分頁!在連線成功後,同時也配置mapperScannerConfigurer用於掃描-載入mappers裡維護的xml檔案裡面的SQL!以及事務控制
以上為用於整合其他模式時候的spring,這個時候的spirng也是最簡潔明瞭,因為原本屬於sring的實現大部分都會被遷移,這也是目前大多數公司的用法