Spring配置文件
Bean 标签基本配置
Bean 用于配置对象交由 Spring 来创建,默认情况下调用的是类中的无参构造函数,
如果没有无参构造函数则不能创建成功;
基本属性
id:Bean 实例在 Spring 容器中的唯一标识
class:Bean 的全限定名称
scope:Bean 的作用范围
<property>标签:属性注入
- name 属性:属性名称
- value 属性:注入的普通属性值
- ref 属性:注入的对象引用值
- <list>标签、<map>标签、<properties>标签
<constructor-arg>标签
<import>标签:导入其他的 Spring 的分文件
Bean 标签范围配置
取值范围 | 说明 |
---|---|
singleton | 默认值、单例 |
prototype | 多例 |
request | WEB项目中,存入到 request 域 |
session | WEB项目中,存入到 session 域 |
global session | WEB项目中,应用在 Portlet 环境 |
- Bean 的实例化个数:1个
- Bean 的实例化时机:当 Spring 核心文件被加载时,实例化配置的 Bean 实例
- Bean 的生命周期:
- 对象创建:当应用加载,创建容器时,对象就被创建;
- 对象运行:只要容器在,对象就一直存在;
- 对象销毁:当应用卸载,销毁容器时,对象就被销毁;
- Bean 的实例化个数:多个
- Bean 的实例化时机:当调用 getBean() 方法时实例化 Bean
- Bean 的生命周期:
- 对象创建:当使用对象时,创建新的对象实例;
- 对象运行:只要对象在使用中,就一直存在;
- 对象销毁:当对象长时间不用,就被 Java 的垃圾回收期回收;
Bean 生命周期配置
init-method:指定类中的初始化方法名称
destroy-method:指定类中的销毁方法名称
注意:需要手动关闭容器,才能运行销毁方法
特殊说明:
当创建 ApplicationContext 对象时,不存在 close() 方法,有两种解决方法:
- 更改为 AbstractApplicationContext 对象;
- 向下强制转为 ConfigurableApplicationContext,即声明时的类型;
- 在大多数情况下更加推荐第二种方法;
- 参考文章:java - How to close a spring ApplicationContext? - Stack Overflow
Bean 实例化三种方式
- 无参构造方法实例化
- 工厂静态方法实例化
- 工厂实例方法实例化
Bean 依赖注入
依赖注入(Dependency Injection): Spring框架核心 IOC 的具体实现
依赖注入方式:
- 构造方法
- set 方法
依赖注入的数据类型:
- 普通数据类型
- 引用数据类型
- 集合数据类型
引入其他配置文件(分模块开发)
实际开发中,Spring 的配置内容非常多,导致配置很繁杂并且体积大,
所以可以将部分配置拆解到其他配置文件中,而在 Spring 主配置文件中,
通过 import 标签进行加载。
Spring配置文件
https://eminem-x-github-io.vercel.app/2022/01/30/Java/2-Spring配置文件/