Spring是一個框架,是一個半成品的軟件。有20個模塊組成。它是一個容器管理對象,容器是裝東西的,Spring容器不裝文本,數字。裝的是對象。Spring是存儲對象的容器。
Spring框架使用的jar都比較小,一般在1M以下或者幾百kb。Spring核心功能的所需的jar總共在3M左右。
Spring框架運行占用的資源少,運行效率高。不依賴其他jar
Spring提供了Ioc控制反轉,由容器管理對象,對象的依賴關系。原來在程序代碼中的對象創建方式,現在由容器完成。對象之間的依賴解耦合。
通過Spring提供的AOP功能,方便進行面向切面的編程,許多不容易用傳統OOP實現的功能可以通過AOP輕松應付。
在Spring中,開發人員可以從繁雜的事務管理代碼中解脫出來,通過聲明式方式靈活地進行事務的管理,提高開發效率和質量。
Spring不排斥各種優秀的開源框架,相反Spring可以降低各種框架的使用難度,Spring提供了對各種優秀框架(如Struts,Hibernate、MyBatis)等的直接支持。簡化框架的使用。
Spring像插線板一樣,其他框架是插頭,可以容易的組合到一起。需要使用哪個框架,就把這個插頭放入插線板。不需要可以輕易的移除。
所謂非侵入式是指,Spring框架的 API不會在業務邏輯上出現,由于業務邏輯中沒有Spring的 API,所以業務邏輯可以從 Spring框架快速的移植到其他框架,即與環境無關。
Spring作為一個容器,可以管理對象的生命周期、對象與對象之間的依賴關系。可以通過配置文件,來定義對象,以及設置與其他對象的依賴關系。