j2ee-Spring ApplicationContext Bean的生命周期是怎么样的?

问题描述

Spring ApplicationContext Bean的生命周期是怎么样的?

spring 3.x企业应用开发实践一书中写道:
ApplicationContext的初始化和BeanFactory有一个重大的区别:BeanFactory在初始化容器时,并未实例化Bean,直到第一次访问某个Bean时才实例目标Bean;而ApplicationContext则在初始化应用上下文时就实例化所有单实例的Bean。
但是在介绍ApplicationContext Bean的生命周期时,配图如下:

上图写着:在通过getBean()调用某一个Bean之后 才实例化,这不是自相矛盾么?求解,到底ApplicationContext Bean的生命周期是怎么样的。

时间: 2024-09-15 15:45:13

j2ee-Spring ApplicationContext Bean的生命周期是怎么样的?的相关文章

spring入门(4) spring中Bean的生命周期总结

Spring中Bean的生命周期,在学习spring的过程中bean的生命周期理解对学习spring有很大的帮助,下面我就分别介绍在 ApplicationContext和BeanFactory中Bean的生命周期. 1.在ApplicationContext中Bean的生命周期 生命周 期执行的过程如下: 1.需找所有的bean根据bean定义的信息来实例化bean 2.使用依赖注入,spring按bean 定义信息配置bean的所有属性 3.若bean实现了BeanNameAware接口,工

spring之Bean的生命周期

Bean的生命周期: Bean的定义--Bean的初始化--Bean的使用--Bean的销毁 Bean的定义 Bean 是 Spring 装配的组件模型,一切实体类都可以配置成一个 Bean ,进而就可以在任何其他的 Bean 中使用,一个 Bean 也可以不是指定的实体类,这就是抽象 Bean . Bean的初始化 Spring中bean的初始化回调有两种方法 一种是在配置文件中声明init-method="init",然后在一个实体类中用init()方法来初始化 另一种是实现Ini

Spring Bean的生命周期管理

本文来自阅读Life Cycle Management of a Spring Bean这篇文章所做的笔记和实验. 按图索骥 bean的生命周期 知识点 1. BeanNameAware接口 Spring Bean存活于容器之中,一般情况下spring bean对context的情况并不了解,如果希望某个bean知道自己在context中的代号:bean name,即可让该bean的类型实现BeanNameAware接口. package org.test.spittr.spi; import

Spring Bean的生命周期详细介绍_java

Spring作为当前Java最流行.最强大的轻量级框架,受到了程序员的热烈欢迎.准确的了解Spring Bean的生命周期是非常必要的.我们通常使用ApplicationContext作为Spring容器.这里,我们讲的也是 ApplicationContext中Bean的生命周期.而实际上BeanFactory也是差不多的,只不过处理器需要手动注册. 一.生命周期流程图: Spring Bean的完整生命周期从创建Spring容器开始,直到最终Spring容器销毁Bean,这其中包含了一系列关

Bean的生命周期

原文:Bean的生命周期 1.实现各种生命周期控制访问的NewCar package com.beanprocess; import org.springframework.beans.BeansException; import org.springframework.beans.factory.*; /** * Created by gao on 16-3-18. */ public class NewCar implements BeanFactoryAware,BeanNameAware

【spring框架】bean的生命周期

生命周期: a)lazy-init(不重要) 指的是在容器进行初始化的时候它不进行初始化 ApplicationContext实现的默认行为就是在启动时将所有singleton bean提前进行实例化.提前实例化意味着作为初始化过程的一部分,ApplicationContext实例会创建并配置所有的singleton bean.通常情况下这是件好事,因为这样在配置中的任何错误就会即刻被发现(否则的话可能要花几个小时甚至几天). 有时候这种默认处理可能并不是你想要的.如果你不想让一个singlet

关于Stateful Session Bean的生命周期问题

问题描述 在Glassfish的EJB容器设置中,EJBCache的一个选项CacheResizeQuantity:缓存中的Bean达到最大数目后,被容器从备份存储中删除的钝化Bean的数目.为什么缓存中Bean达到最大数目后要从备份存储中删除钝化Bean呢?这对解决缓存无法增加Bean实例有什么作用呢?而且还有一个选项是RemovalSelectionPolicy:从缓存中删除有状态Bean依据的策略.这一项应该是和上一项结合使用的吧,那么既然是从缓存中删除有状态Bean,就应该是缓存中的Be

【Spring】Spring常用配置-Bean的初始化和销毁(生命周期)

转载请注明出处:http://blog.csdn.net/qq_26525215 本文源自[大学之旅_谙忆的博客] 分析 在我们实际开发的时候,经常会遇到在Bean使用之前或者之后做些必要的操作,Spring对Bean的生命周期的操作提供了支持. 有如下2种方式: 1.Java配置方式:使用@Bean的initMethod和destroyMethod(相当于xml配置的init-method和destroy-method) 2.注解方式: 利用JSR-250的@PostConstruct和@Pr

【Spring实战】—— 4 Spring中bean的init和destroy方法讲解

本篇文章主要介绍了在spring中通过配置init-method和destroy-method方法来实现Bean的初始化和销毁时附加的操作. 在java中,我们并不需要去管理内存或者变量,而在C或C++中,可以通过new和delete等方式来创建和删除变量或者对象.在Spring中,如果想要对一个bean进行初始化和结束附加一定的操作,则可以使用上述的两个方法来实现. 在介绍这两个方法前,读者需要了解Spring中bean的生命周期,最常使用的两种生命周期是:singleton和prototyp