一、非侵入式設計編程
Spring是一種非侵入式(non-invasive)框架,它可使應用程序代碼對框架的依賴最小化。安全
二、方便解耦、簡化開發框架
Spring就是一個大工廠,能夠將全部對象的建立和依賴關係的維護工做都交給Spring容器的管理,大大的下降了組件之間的耦合性。測試
三、支持AOP設計
Spring提供了對AOP的支持,它容許將一些通用任務,如安全、事物、日誌等進行集中式處理,從而提升了程序的複用性。日誌
四、支持聲明式事務處理對象
只須要經過配置就能夠完成對事物的管理,而無須手動編程。事務
五、方便程序的測試開發
Spring提供了對Junit4的支持,能夠經過註解方便的測試Spring程序。it
六、方便集成各類優秀框架
Spring不排斥各類優秀的開源框架,其內部提供了對各類優秀框架(如Struts、Hibernate、MyBatis、Quartz等)的直接支持。
七、下降Jave EE API的使用難度。
Spring對Java EE開發中很是難用的一些API(如JDBC、JavaMail等),都提供了封裝,使這些API應用難度大大下降。