反转控制:
应用本身不负责对象的创建和维护,依赖对象的创建以及维护由外部容器负责的。指的是控制权的转移。
依赖注入(DI):
运行期。由外部容器动态的将对象注入到组件中。
引入Spring的好处
1.降低耦合度
i. Controller(控制)----->Service(服务)------>DAO
使得这三层相互独立
2.spring提供众多服务:
i. 事务控制/管理
3.提供单例模式
4.提供AOP技术
i. 实现权限拦截
ii. 运行监控
5.提供众多辅助类
6.对主流应用框架提供集成支持
轻量级与重量级的划分
划分依据:使用多少服务。
如果只是启用spring核心服务。此时就属于轻量级
如果使用了spring大部分服务,就属于重量级
EJB为重量级,因为他默认打开了所有功能。