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