1,降低了組件之間的耦合性,實現了軟件各層之間的解耦。
2,可以使用容器提供的眾多服務,如事務管理,消息服務等。
3,容器提供單例模式支持。
4,容器提供了AOP技術,利用它可以很容易實現一些攔截,如權限攔截,運行期監控等。
5,容器提供了眾多的輔助類,能夠加快應用的開發。
6,spring對於主流的應用框架提供了很好的支持,例如mybatis等。
7,spring屬於低入侵式設計。
8,獨立於各種應用服務器。
9,spring的DI機制降低了業務對象替換的復雜性。
10,spring的高度開放性,並不強制應用完全依賴於它,開發者可以自由選擇spring的部分或者全部。
spring的缺點:
使用了大量的反射機制,反射機制非常占用內存。