Spring:是一个开源的控制反转(IOC)和面向切面(AOP)的容器框架.
Ioc(Inversion of Control):应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的。这样控制权就由应用转移到了外部容器,控制权的转移就是所谓反转。
DI(Dependency Injection):在运行期,由外部容器动态的将依赖对象注入到组件。
Spring使用的好处:
1.降低组建之间的耦合度,实现软件各层之间的解耦。
2.可以使用容器提供的众多服务。(事务管理、JMS、持久化...)
3.容器提供了单例支持,开发人员不再需要自己写
4.容器提供了AOP技术
5.容器提供了众多的辅助类(Jdbc Template、Hibernate Template)
6.对于主流应用框架提供了集成支持
轻量级与重量级概念的划分:
是否属于轻量级还是重量级,主要是看使用了多少服务,使用的服务越多,容器要为普通java对象做的工作就越多,必然会影响到应用的发布时间或是运行性能。
(spring——轻量级、EJB——重量级)