JAVA開發(fā)者必看--spring基礎(chǔ)知識匯總
一、Spring框架簡介
Spring為JavaEE開發(fā)提供了一個輕量級的解決方案,主要表現(xiàn)為:
.IOC(或者叫做DI)的核心機制,提供了bean工廠(Spring容器),降低了業(yè)務(wù)對象替換的復(fù)雜性,提高了組件之間的解耦。
.AOP的將一些通用任務(wù),如安全、事務(wù)、日志等集中進行管理,提高了復(fù)用性和管理的便捷性
.ORM和DAO提供了與第三方持久層框架的良好整合,簡化了底層數(shù)據(jù)訪問。
.提供了優(yōu)秀的WebMVC框架。
可以說Spring是貫穿表現(xiàn)層、業(yè)務(wù)層、持久層,為javaEE提供一站式解決方案的框架。此外,使用Spring還有如下好處:
.低侵入設(shè)計,代碼污染極低。
.基于Spring框架的應(yīng)用,可以獨立于各種應(yīng)用服務(wù)器,實現(xiàn)writeonce,runanywhere,
.Spring可以與第三方框架良好整合(如ORM,DAO等模塊與其他框架整合),但同時Spring提供了高度開放性,應(yīng)用不會被強制依賴Spring,開發(fā)者可以自由選擇Spring的部分或者全部。
Spring并不局限于中間層,而是為系統(tǒng)各層都提供了企業(yè)級解決方案(例如IOC可以
使用Spring框架可以帶來諸多好處,例如進行數(shù)據(jù)庫事務(wù)處理,遠程調(diào)用,JMS消息處理,JMX操作處理,而這些處理都不需要開發(fā)人員直接使用相關(guān)API(JDBC,JMX,JMS等)
二、Sping架構(gòu)
Spring框架是分模塊存在,除了最核心的SpringCoreContainer(即Spring容器)是必要模塊之外,其他模塊都是可選,視需要而定。
官方文檔Spring4.0的架構(gòu)圖中,包含了20多個子模塊,大致可以分為四類:(1)核心容器(CoreContainer)(2)數(shù)據(jù)訪問和集成(DataAccess/Integration)(3)Web(4)AOP。
本質(zhì)上Spring可以總結(jié)為以下七個模塊。?

三、Spring的優(yōu)點
(1)方便解耦,簡化開發(fā)
Spring就是一個大工廠,可以將所有對象的創(chuàng)建和依賴關(guān)系的維護工作都交給Spring容器管理,大大地降低了組件之間的耦合性。
(2)AOP編程的支持
Spring提供面向切面編程,可以方便的實現(xiàn)對程序進行權(quán)限攔截、運行監(jiān)控等功能。
(3)方便集成各種優(yōu)秀框架
Spring不排斥各種優(yōu)秀的開源框架,其內(nèi)部提供了對各種優(yōu)秀框架(如Struts2、Hibernate、MyBatis等)的直接支持。
(4)方便程序的測試
Spring提供了對Junit4的支持,可以通過注解方便的測試Spring程序。
(5)聲明式事務(wù)的支持
只需要通過配置就可以完成對事務(wù)的管理,而無需手動編程。
(6)降低JavaEEAPI的使用難度
spring對難用的JavaEEAPI進行了封裝,使得這些API的使用難度大為降低。
簡而言之,我們使用Spring有如下的原因:(1)Spring是開源的輕量級框架;(2)一站式框架,內(nèi)部支持對多種優(yōu)秀開源框架的集成。如果想要學習更多關(guān)于Spring相關(guān)的技術(shù)點,歡迎留言或私信我們哦!