1. 工厂Bean
Spring中有两种Bean,一种为普通Bean,另一中为工厂Bean
1.1 普通Bean
在配置文件中定义bean类型就是返回类型
1.2 工厂Bean
工厂bean在配置文件中定义的bean类型和返回类型不同
-
创建类,作为工厂bean,实现接口FactoryBean
public class MyFactoryBean implements FactoryBean<User> { @Override public User getObject() throws Exception { User user = new User(); user.setId("1"); return user; } @Override public Class<?> getObjectType() { return null; } } -
实现接口的方法,在实现的方法中定义返回的类型
<bean id="myBean" class="com.yang.pojo.MyFactoryBean"></bean>
2. Bean的作用域
2.1 单例对象
Spring中默认的bean是单例对象

2.2 多例对象
在bean的
scope属性设置为prototype即变为多例对象

2.3 两者区别
- singleton单实例,prototype 多实例
- 设置scope值是singleton时候,加载spring配置文件时候就会创建单实例对象
- 设置scope值是prototype时候,不是在加载spring 配置文件时候创建对象,在调用getBean方法时候创建多实例对象。
3. Bean的生命周期
生命周期:对象创建到销毁的过程
- 通过构造器创建bean实例(无参数构造)
- 为bean的属性设置值和对其他bean引用(调用set方法)
- 调用bean的初始化的方法(需要进行配置初始化的方法)
- bean可以使用了(对象获取到了)
- 当容器关闭时候,调用bean的销毁的方法(需要进行配置销毁的方法)
本文详细介绍了Spring框架中的Bean,包括普通Bean与工厂Bean的区别。工厂Bean在配置中定义的类型与返回类型不同,主要用于创建复杂对象。此外,还探讨了Bean的作用域,如默认的单例(singleton)和原型(prototype)模式,以及它们在对象创建时间上的差异。最后,阐述了Bean的完整生命周期,包括构造、属性设置、初始化方法调用和销毁方法的执行过程。
1669

被折叠的 条评论
为什么被折叠?



