Beans
Beans
核心概念
IoC (Inversion of Control) 控制反转
- 使用对象时,由主动 new 产生对象转换为由外部提供对象,此过程对象创建控制权由程序转移到外部,此思想为控制反转
Spring 技术对 Ioc 思想进行了实现
- Spring 提供了一个容器,称为 Ioc 容器,用来充当 Ioc 思想中的“外部”
- IoC 容器负责对象的创建、初始化等一系列工作,被创建或被管理的对象在 Ioc 容器中统称为 Bean
DI (Dependency Injection) 依赖注入
- 在容器中建立 bean 与 bean 之间的依赖关系的整个过程,称为依赖注入
目标: 充分解耦
- 使用 Ioc 容器管理 bean (Ioc)
- 在 Ioc 容器内将有依赖关系的 bean 进行关系绑定 (DI)
最终效果
- 使用对象时不仅可以直接从 Ioc 容器中获取,并且获取到的 bean 已经绑定了所有的依赖关系
Ioc 入门案例
bean配置
<bean>
属性或子元素 | 说明 |
---|---|
id | Bean 的唯一标识符 |
name | 为 Bean 指定多个名称,每个名称之间用逗号或分号隔开 |
class | 指定Bean的实现类,它必须使用类的全限定名 |
scope | 设定 Bean 实例的作用域 |
constructor-arg | 子元素,可以使用此元素传入构造参数进行实例化 |
property | 子元素,用于调用 Bean 实例中的 setter() 方法完成属性赋值,从而完成依赖注入 |
list | 用于封装 List 或数组属性的依赖注入 |
set | 用于封装 Set 类型属性的依赖注入 |
map | 用于封装 Map 类型属性的依赖注入 |
entry | <map> 元素的子元素,用于设置一个键值对 |
<constructor-arg>
属性或子元素 | 说明 |
---|---|
index | 指定构造参数的序号 (从0开始) |
type | 指定构造参数的类型 |
ref | 子元素,指定对 Bean 工厂中某个 Bean 实例的引用 |
value | 子元素,可以用于直接给定一个常量值 |
<property>
属性或子元素 | 说明 |
---|---|
ref | 指定对 Bean 工厂中某个 Bean 实例的引用 |
value | 可以用于直接给定一个常量值 |
Beans
http://yjh-2860674406.github.io/2022/09/08/编程/SSM/Spring/Beans/