Spring Bean 的配置(1)

本文内容大多基于官方文档和网上前辈经验总结,经过个人实践加以整理积累,仅供参考。


1 配置方式

(1) 基于 XML 文件的方式

(2) 基于注解的方式

2 Bean 的配置

(1) 通过全类名(基于反射的机制)
Spring Bean 的配置(1)_第1张图片

(2) 通过工厂方法(静态工厂 & 实例工厂)

(3) FactoryBean

3 IOC 容器 BeanFactory & ApplicationContext 概述

在 Spring IOC 容器读取 bean 配置创建 bean 实例之前,必须对它进行实例化,只有容器实例化后才可以从 IOC 容器里获取 bean 实例并使用。

Spring提供两种类型的 IOC 容器实现:

(1) BeanFactory:IOC 容器的基本实现,是 Spring 框架的基础设施,面向 Spring 本身

(2) ApplicationContext:提供更多高级特性,是 BeanFactory 的子接口,面向使用 Spring 框架的开发者,几乎所有的应用场合都直接使用 ApplicationContext 而非底层的 BeanFactory

4 ApplicationContext 的主要实现类:

(1) ClassPathXmlApplicationContext:从类路径下加载配置文件

(2) FileSystemXmlApplicationContext:从文件系统中加载配置文件

(3) ConfigurableApplicationContext,扩展于 ApplicationContext,新增加两个主要方法:refresh() 和 close(),让 ApplicationContext 具有启动、刷新和关闭上下文的能力

ApplicationContext 在初始化上下文时就实例化所有单例的 bean

WebApplicationContext 是专门为 WEB 应用准备的,允许从相对于 WEB 根目录的路径中完成初始化。

5 依赖注入的方式

(1) 属性注入
属性注入即通过 setter 方法注入 bean 的属性值或依赖的对象

属性注入使用 元素,使用 name 属性指定 bean 的属性名称,value 属性或 子节点指定属性值
这里写图片描述

属性注入是实际应用中最常用的注入方式

(2) 构造器注入
通过构造方法注入 bean 的属性值或依赖的对象,保证了 bean 实例化后就可以使用

构造器注入在 元素里声明属性, 元素里没有name属性
这里写图片描述

(3) 工厂方法注入(很少使用)

6 通过类型获取 IOC 容器中的 bean

这里写图片描述

7 构造器注入实例

(1) 指定参数位置
Spring Bean 的配置(1)_第2张图片

(2) 指定参数类型
Spring Bean 的配置(1)_第3张图片

(3) 指定参数顺序和类型
Spring Bean 的配置(1)_第4张图片

(4) 编写测试用例
Spring Bean 的配置(1)_第5张图片

运行测试结果:
Spring Bean 的配置(1)_第6张图片

你可能感兴趣的:(Spring,spring)