一、实例化
二、装配(可选)
三、回调(可选)
1、第一个回调接口BeanNameAware,如果一个Bean继承了该接口,Spring会将配置文件里的id通过setBeanName方法传递过来。
2、第二个回调接口BeanFactoryAware,如果一个Bean继承了该接口,Spring会将BeanFactory通过setBeanFactory方法传递过来。
使用例子:
Bean1为single,Bean2为prototype,Bean2为Bean1的属性出现,此时两次getBean获得Bean1后,再调用Bean1的getBean2方法返回的结果是是Bean2的同一个实例。
此时我们可以让Bean1实现回调接口BeanFactoryAware,实现setBeanFactory方法,将传入的BeanFactory保存为属性,即this.beanFactory = beanFactory。
然后在Bean1的getBean2方法里通过调用传递过来的BeanFactory的getBean方法获得Bean2,并将其返回,如此就实现了使两个Bean生命周期分离的问题了。
四、初始化(可选)
1、BeanPostProcessors接口(重要),后处理Bean,用来扩展Bean的功能。在初始化之前加工一次,之后再加工一次。调用postProcessBeforeInitialization方法。
2、InitializingBean接口
3、调用Bean配置文件里的init-method指定的初始化方法(提倡)
4、BeanPostProcessors接口的postProcessAfterInitialization方法。
五、就绪
六、销毁
1、DisposableBean接口,在容器关闭时,如果Bean类有实现DisposableBean接口,则执行他的destroy()方法。
2、调用Bean配置文件里的destroy-method指定的方法(提倡)
七、单例在容器启动时实例,原型在getBean调用时实例化。
- 大小: 60.4 KB
分享到:
相关推荐
实现`BeanPostProcessor`接口可以让开发者在Bean生命周期的关键时刻插入自定义逻辑,比如验证、缓存管理、AOP代理等。这提供了高度的灵活性,但同时也需要谨慎处理,因为不恰当的处理可能会影响到整个应用的性能和...
在Spring中,Bean是一个由Spring IoC容器管理的对象,它代表应用程序中的一个组件或服务。Bean可以通过XML配置文件、注解或Java配置类来定义。而自动扫描和管理Bean则是通过注解或配置文件中的包扫描设置实现的。 #...
《Spring学习笔记之bean生命周期》 在Spring框架中,Bean是核心组件,它们构成了应用程序的主要结构。理解Spring Bean的生命周期对于有效地管理和优化Spring应用程序至关重要。本文将深入探讨Spring Bean的生命周期...
Spring的IoC容器在这些基础上提供了更多高级服务,比如bean的实例缓存、生命周期管理、代理、事件发布和资源加载等。 Spring的高层容器视图展示了容器启动时如何读取应用提供的配置信息,生成bean配置注册表,然后...
通过 DI,Spring 容器负责管理 Bean 的生命周期和装配,而不是由 Bean 自己去寻找依赖。有以下几种方式实现依赖注入: 4.1. 构造函数注入通过提供带有依赖作为参数的构造函数,Spring 容器可以创建 Bean 并传递所需...
* 默认情况下,spring 容器管理的 bean 的实例都是单例的 Bean 的生命周期 * Servlet、Filter、Interceptor 等,接口中都有 void init() 初始化方法、void destroy() 销毁方法 依赖注入 * 构造器注入 * 属性注入...
2. **容器(IoC Container)**:Spring容器负责创建对象、管理对象的生命周期以及维护对象间的依赖关系。主要有两种类型的容器:BeanFactory和ApplicationContext。 3. **面向切面编程(Aspect-Oriented ...
`spring-context`包含bean的生命周期管理、事件发布、国际化支持等;`spring-beans`则涉及bean的定义和装配。 通过学习这些知识点,并结合实际项目实践,你可以深入了解Spring框架,提升你的Java开发能力。在SSM...
1. **基于注解的装配**:Spring支持通过注解来定义Bean的生命周期和依赖关系。 - `@Repository`:用于标记DAO层的组件。 - `@Service`:用于标记Service层的组件。 - `@Controller`:用于标记Web层的组件。 2. *...
1. **Spring IoC**:IoC是Spring的核心特性,它将对象的创建和管理权交给Spring容器,使得开发者可以专注于业务逻辑,而不是对象的生命周期。在源代码中,你可以看到如何通过XML配置或注解方式定义bean,以及如何...
3. **Bean的生命周期**:Spring容器管理的Bean有其完整的生命周期,包括初始化、使用和销毁三个阶段。理解Bean的生命周期有助于优化性能和处理资源清理。 4. **AOP(Aspect-Oriented Programming,面向切面编程)**...
1. **Spring依赖注入(IOC)**: Spring的IOC容器是其核心,负责创建对象并管理它们的生命周期。通过配置文件或注解,开发者可以声明对象及其依赖关系,使代码更易于测试和维护。`spring_ioc.txt`可能详细解释了如何...
- **BeanFactory**:Spring的核心容器接口,用于管理Bean的生命周期,提供了基本的依赖注入支持。 - **特点**:延迟加载,即当第一次调用`getBean()`方法时才会创建Bean实例。 - **ApplicationContext**:扩展了...
2. **IoC容器**:详细解析Spring的IoC容器是如何通过Bean的定义和依赖注入来管理对象的生命周期和装配关系。 3. **Bean的定义与配置**:讲解XML配置文件、注解配置以及Java配置三种方式创建Bean,包括属性注入、...
Spring 容器管理 Bean 的完整生命周期,包括初始化、活跃(使用)和销毁三个阶段。初始化阶段可以执行初始化方法(如 `init-method`),活跃阶段容器会根据需求创建和管理 Bean 实例,销毁阶段可以执行销毁方法(如 ...
Spring 相关内容笔记 ...Spring 提供了多种方式来管理 Bean 的生命周期。 八、AOP AOP 是 Spring 框架的另一个核心部分,负责不修改源代码进行功能增强。AOP 的主要应用场景包括日志记录、安全检查和缓存等。
4. **Bean管理**:在Spring中,业务对象被称为Bean,Spring容器负责Bean的创建、初始化、装配以及管理其生命周期。开发者可以通过XML配置、注解或者Java配置来声明Bean及其依赖关系。 5. **Spring MVC**:Spring的...
- **容器**:Spring容器负责创建对象,管理它们的生命周期,以及装配这些对象。主要有两种容器:ApplicationContext和BeanFactory。 - **AOP**:提供了面向切面编程的支持,允许开发者定义“切面”,即跨越多个...
在Spring中,应用程序的组件被称为Bean,这些Bean被定义在配置文件中,由Spring容器管理其生命周期,包括实例化、初始化、装配和销毁。Bean可以通过XML、注解或者Java配置来定义。 五、Spring MVC Spring MVC是...