1.轻量级(Lightweight):轻量级有两层含义,其一,体积大小,其二,系统开销
部署的时候仅需要一个比1M大一点儿的JAR包,而在系统中其所用开销几乎可以忽略
2.控制反转(Inversion of control):Spring使用IoC来解耦
对象不再依赖于其它对象来创建自身,而是依赖于容器
3.面向切面(Aspect-oriented):Spring 运用 面向切面编程(AOP)来把业务逻辑分离的模块粘合到一起
4.容器(Container):Spring从某种意义上来说,它是一个管理生命周期 和 配置应用对象的容器
5.框架(Framework):Spring让把普通的组件通过配置和组合的方式,形成复杂应用程序成为一种可能