轻量级容器、控制反转与Spring依赖注入
1. 容器基础
1.1 容器的基本服务
容器需要为其管理的组件提供一系列基本服务,常见的基本服务如下:
- 生命周期管理
- 依赖解析
- 组件查找
- 应用配置
除了上述基本服务,若容器能提供以下中间件服务将非常实用:
- 事务管理
- 安全管理
- 线程管理
- 对象和资源池
- 组件远程访问
- 通过类似JMX的API进行组件管理
- 容器的可扩展性和可定制性
1.2 轻量级容器
轻量级容器具备上述所有特性,且不要求应用代码依赖其自身的API,即具有非侵入性。它启动速度快,无需部署到全功能的Java EE应用服务器就能提供服务,将组件部署到其中的过程也很简单。Spring应用框架就是企业界最著名的轻量级容器之一。
2. 控制反转(IoC)
2.1 控制反转的概念
容器为其管理的组件提供的一个重要优势是可插拔架构。组件实现某些接口,并通过类似接口访问所需的其他组件提供的服务,它们无需知道服务的具体实现类,因此很容易用不同的实现替换系统中的任何组件。容器的工作是创建这些组件及其依赖服务,并将它们连接起来。
依赖组件不会在组件类中使用 new 操作符实例化,而是在运行时由容器实例注入到组件中。因此,依赖的控制权从组件转移到了容器,这种模式称为控制反转(IoC)。IoC是框架中一个重要的概念,可通过好莱坞原则“别打电话给我们,我们会打给你”来理解。
超级会员免费看
订阅专栏 解锁全文
1587

被折叠的 条评论
为什么被折叠?



