Spring 是分層的 full-stack(全棧) 輕量級開源框架,以 IoC 和 AOP 爲內核,提供了展示層 SpringMVC 和業務層事務管理等衆多的企業級應⽤技術,還能整合開源世界衆多著名的第三⽅框架和類庫,已經成爲使⽤最多的 Java EE 企業應⽤開源框架spring
Spring 官⽅⽹址:http://spring.io/數據庫
咱們常常說的 Spring 其實指的是Spring Framework(spring 框架)編程
Rod Johnson(spring之⽗)設計模式
整個 Spring 優點,傳達出⼀個信號,Spring 是⼀個綜合性,且有很強的思想性框架,每學習⼀天,就能體會到它的⼀些優點
經過Spring的AOP功能,⽅便進⾏⾯向切⾯的編程,許多不容易⽤傳統OOP實現的功能能夠經過AOP輕鬆應付框架
@Transactional
能夠將咱們從單調煩悶的事務管理代碼中解脫出來,經過聲明式⽅式靈活的進⾏事務的管理,提⾼開發效率和質量單元測試
能夠⽤⾮容器依賴的編程⽅式進⾏⼏乎全部的測試⼯做,測試再也不是昂貴的操做,⽽是隨⼿可作的事情學習
Spring能夠下降各類框架的使⽤難度,提供了對各類優秀框架(Struts、Hibernate、Hessian、Quartz
等)的直接⽀持測試
Spring對JavaEE API(如JDBC、JavaMail、遠程調⽤
等)進⾏了薄薄的封裝層,使這些API的使⽤難度⼤爲下降編碼
Spring的源代碼設計精妙、結構清晰、匠⼼獨⽤,到處體現着⼤師對Java設計模式靈活運⽤以及對Java技術的⾼深造詣。它的源代碼⽆意是Java技術的最佳實踐的範例spa
Spring是⼀個分層⾮常清晰而且依賴關係、職責定位⾮常明確的輕量級框架,主要包括⼏個⼤模塊:`數據處理模塊、Web模塊、AOP(Aspect Oriented Programming)/Aspects模塊、Core Container模塊
和 Test 模塊`,以下圖所示,Spring依靠這些基本模塊,實現了⼀個令⼈愉悅的融合了現有解決⽅案的零侵⼊的輕量級框架