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/
Author
Ye JinHua
Posted on
September 8, 2022
Licensed under