Spring-1-透彻理解Spring XML的Bean创建--IOC
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)模式,并扩展到其他作用范围如request、session等。
通过代码演示说明如何在配置文件中设置作用范围,并比较不同作用范围的对象创建方式。
注意:在实际开发中,大多数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葵花宝典
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
白皮书上线