* 非侵入式:基于Spring開發的應用中的對象可以不依賴于Spring的API
* 控制反轉:IOC——Inversion of Control,指的是將對象的創建權交給 Spring 去創建。使用 Spring 之前,對象的創建都是由我們自己在代碼中new創建。而使用 Spring 之后。對象的創建都是給了 Spring 框架。
* 依賴注入:DI——Dependency Injection,是指依賴的對象不需要手動調用 setXX 方法去設置,而是通過配置賦值。
* 面向切面編程:Aspect Oriented Programming——AOP
* 容器:Spring 是一個容器,因為它包含并且管理應用對象的生命周期
* 組件化:Spring 實現了使用簡單的組件配置組合成一個復雜的應用。在 Spring 中可以使用XML和Java注解組合這些對象。
* 一站式:在 IOC 和 AOP 的基礎上可以整合各種企業應用的開源框架和優秀的第三方類庫(實際上 Spring 自身也提供了表現層的 SpringMVC 和持久層的 Spring JDBC)