1. IoC容器:IoC容器幫助應用程序管理對象以及對象之間的依賴關系,對象之間的依賴關系如果發生了改變只需要修改配置文件而不是修改代碼,因為代碼的修改可能意味着項目的重新構建和完整的回歸測試。有了IoC容器,程序員再也不需要自己編寫工廠、單例,這一點特別符合Spring的精神“不要重復的發明輪子”。
2. AOP:面向切面編程,將所有的橫切關注功能封裝到切面(aspect)中,通過配置的方式將橫切關注功能動態添加到目標代碼上,進一步實現了業務邏輯和系統服務之間的分離。另一方面,有了AOP程序員可以省去很多自己寫代理類的工作。
3. MVC:Spring的MVC框架是非常優秀的,從各個方面都可以甩Struts 2幾條街,為Web表示層提供了更好的解決方案。
4. 事務管理:Spring以寬廣的胸懷接納多種持久層技術,並且為其提供了聲明式的事務管理,在不需要任何一行代碼的情況下就能夠完成事務管理。