Spring-1-透彻理解Spring XML的Bean创建--IOC

发布于 2024-07-19
854

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

扫码阅读
手机扫码阅读

学习目标

本篇文章深入讲解Spring中的IOC容器,重点介绍Bean的基础配置、Bean的实例化方式以及Bean的生命周期。

1. Bean的基础配置

通过问题导入,讨论如何配置Bean别名及修改Bean的默认作用范围。

1.1 Bean别名配置

通过配置文件设置Bean的别名,并强调在获取Bean时,若使用未定义的别名或ID,将抛出异常(NoSuchBeanDefinitionException)。

代码示例展示了如何通过Spring配置文件定义Bean及根据别名获取Bean。

1.2 Bean作用范围配置

介绍了单例(singleton)和多例(prototype)模式,并扩展到其他作用范围如requestsession等。

通过代码演示说明如何在配置文件中设置作用范围,并比较不同作用范围的对象创建方式。

注意:在实际开发中,大多数Bean采用单例模式。

2. Bean的实例化方式

讨论了Bean的三种实例化方式:构造方法、静态工厂以及实例工厂。

2.1 构造方法实例化

通过无参构造方法实例化Bean,并强调若无参构造方法不存在,将抛出异常(BeanCreationException)。

代码演示展示了如何通过配置文件定义构造方法实例化的Bean。

2.2 静态工厂实例化

利用静态工厂方法创建Bean对象。工厂方法通过静态方法返回Bean实例。

代码示例展示了如何定义静态工厂及在配置文件中关联。

2.3 实例工厂实例化

通过实例工厂方法创建Bean对象。实例工厂需要先创建工厂对象,再通过工厂的实例方法返回Bean实例。

代码演示了如何定义实例工厂及在配置文件中关联。

3. Bean的生命周期

讨论了Bean的创建到销毁的完整生命周期及其控制方法。

3.1 生命周期过程

从容器初始化到Bean销毁的过程包括:创建对象、属性注入、初始化方法执行、业务操作、销毁方法执行。

3.2 Bean生命周期控制

代码演示了如何通过配置文件定义Bean的初始化及销毁方法。强调了多例Bean的销毁方法配置。

3.3 Bean销毁时机

容器关闭前会触发Bean销毁,可通过手动调用close()方法或注册关闭钩子(registerShutdownHook())确保销毁方法执行。

代码示例展示了如何注册关闭钩子以确保Bean销毁。

springboot葵花宝典

主要分享JAVA技术,主要包含SpringBoot、SpingCloud、Docker、中间件等技术,以及Github开源项目

276 篇文章
浏览 308.5K

还在用多套工具管项目?

一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。

加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线