`
polokang
  • 浏览: 67869 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

6.Spring管理的Bean的生命周期

阅读更多
一.Bean在什么时候被实例化的?
1.在单例作用域(Singleton)情况下,即默认情况下,Bean的实例化是在Spring容器被实例化的时候,就被实例化了。
2.在scope="prototype"时,Bean 是在我们调用ctx.getBean("xxx")方法时才被实例化的。

二.延迟加载
引用
<bean id=.... lazy-init="true"></bean>

在延迟加载的情况下,bean 只有在ctx.getBean("xxx")的时候才会被实例化。
引用

<beans ... default-lazy-init="true"></bean>
表示在此配置文件中的所有bean都延迟加载

PS:延迟加载一般不用,因为我们希望在应用启动时就可以根据日志查看Bean 实例化是否正常,而不是在应用运行期间才发现Bean实例化问题。

三.指定bean初始化方法
引用
<bean id=... init-method="init"></bean>


四.指定bean的销毁方法
引用
<bean id=... destroy-method="destory"></bean>


<bean id="personService" class="com.spring.service.impl.PersonServiceBean" init-method="init" destroy-method="destory"></bean>


public class PersonServiceBean implements PersonService
{
    public void init()
    {
        System.out.println("我被初始化了!");
    }
    public PersonServiceBean()
    {
        System.out.println("我被实例化了!");
    }
    public void save()
    {
        System.out.println("我是Save方法 !");
    }
    public void destory()
    {
        System.out.println("关闭资源文件!");
    }
}


AbstractApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
PersonService personservice = (PersonService)ctx.getBean("personService");
ctx.close();
分享到:
评论

相关推荐

    spring bean的生命周期

    - **XML配置**:在传统的Spring应用中,Bean的定义通常写在XML配置文件中,如`springbean-xml`中的配置。 - **注解配置**:使用`@Component`,`@Service`,`@Repository`和`@Controller`注解标记类,配合`@...

    详解Spring中Bean的生命周期和作用域及实现方式

    Bean的生命周期和作用域是Spring框架中两个非常重要的概念,它们决定了Bean的生命周期和作用域的管理方式。 一、Bean的生命周期 Bean的生命周期是指Bean从创建到销毁的整个过程。这个过程可以分为九个阶段: 1. ...

    Spring bean生命周期demo

    接下来,我们将深入探讨Spring Bean生命周期的各个阶段,并通过具体的示例来演示。 1. **配置阶段** 在Spring容器初始化时,它会读取配置文件(如XML或Java配置),解析Bean定义,包括其依赖关系、初始化方法、...

    Spring的bean生命周期

    Bean生命周期的理解对于优化应用性能和理解Spring内部工作原理至关重要。这里我们将深入探讨Spring的Bean生命周期、容器周期以及工厂周期。 首先,让我们从Bean生命周期开始。在Spring中,Bean的生命周期包括以下几...

    SpringBean的生命周期.mdj

    SpringBean的生命周期.mdj

    spring bean的生命周期测试代码

    本资源提供了在Spring 4.2环境下关于Bean生命周期的测试代码,帮助我们深入理解这一关键概念。 首先,让我们了解Spring Bean的生命周期主要包含以下几个阶段: 1. **实例化**:Spring容器通过`Class`对象或`...

    Spring Bean生命周期.pdf

    其中,Spring Bean生命周期的管理是Spring框架的核心功能之一,它涉及Spring容器如何创建、配置以及销毁Bean的整个过程。理解Spring Bean的生命周期对于开发高效和可维护的Java应用至关重要。 Spring Bean生命周期...

    spring bean XML配置入门

    一旦XML配置加载到Spring容器中,容器将根据配置创建Bean实例,并按照定义进行初始化、依赖注入,最后完成Bean的生命周期管理。 10. **实践操作**: 在实际开发中,我们可以使用Eclipse的Spring插件来简化Bean...

    谈谈我对Spring Bean 生命周期的理解

    本文将详细介绍 Spring Bean 生命周期的概念、生命周期图、生命周期阶段、生命周期管理方式等相关知识点。 一、 Spring Bean 生命周期概述 Spring Bean 生命周期是指 Spring 容器中 Bean 的创建、初始化、销毁等...

    Spring Bean生命周期&BeanDefinitions1

    Spring框架是Java应用开发中的一个核心组件,尤其在企业级应用中广泛使用。Spring通过其IoC(Inversion of Control,控制反转)容器管理Bean的生命周期,...理解Bean生命周期对于有效管理和优化Spring应用至关重要。

    Spring Bean 的生命周期

    - **生命周期管理方式**:Spring提供了多种管理Bean生命周期的方式,如`@PostConstruct`和`@PreDestroy`注解,以及`BeanPostProcessor`接口,它们都可以自定义Bean的初始化和销毁行为。 - **作用域的影响**:不同...

    Spring中Bean的生命周期 applicationcontext的应用(实现国际化,事件的传递)

    在Spring框架中,Bean的生命周期管理和ApplicationContext的应用是两个核心概念,它们对于理解Spring如何管理和协调应用中的对象至关重要。本文将深入探讨这两个主题,并结合国际化(i18n)和事件传递来阐述它们在...

    Spring框架中Bean的生命周期 Spring中Bean有几种作用域

    Spring中的Bean生命周期主要分为两个阶段:容器管理阶段和用户自定义阶段。在容器管理阶段,Spring容器负责Bean的实例化、属性注入、初始化、使用和销毁。而在用户自定义阶段,开发者可以通过定义回调方法或使用特定...

    Spring Bean 的生命周期.docx

    这两个后处理器接口提供了灵活的扩展点,允许开发者在Bean生命周期的关键点进行自定义操作。 ApplicationContext是BeanFactory的升级版,提供了更丰富的功能,包括事件发布、国际化等。在ApplicationContext中,...

    Spring管理的Bean的生命周期

    总之,Spring管理的Bean生命周期包括创建、初始化、活跃使用和销毁四个主要阶段,通过各种回调方法、接口和注解,我们可以对Bean的行为进行自定义,以满足不同应用场景的需求。深入理解这些机制,有助于我们更好地...

    Spring bean 管理

    在Spring中,Bean的管理包含多个方面:创建Bean实例、配置Bean属性、控制Bean的生命周期以及Bean作用域的定义。接下来将详细解释这些知识点。 1. Spring的工厂类: Spring通过工厂模式设计了一系列工厂类来创建对象...

    Spring 的 Bean 生命周期,11 张高清流程图及代码,深度解析.docx

    Spring 的 Bean 生命周期,11 张高清流程图及代码,深度解析

    org.springframework.context_3.0.5.release.jar.zip

    ApplicationContext是Spring框架中一个非常重要的接口,它为bean的生命周期管理、消息资源处理、事件发布等提供了全面的支持。它不仅是一个bean工厂,能够创建和管理bean,还是一个全局的应用上下文,可以提供跨bean...

    基于java的企业级应用开发:Bean的生命周期.ppt

    实例化过程是Bean生命周期的起点。 2. **依赖注入**: - 在Bean实例化后,Spring会执行依赖注入(Dependency Injection,DI),将所需的属性值注入到Bean中。这可以通过setter方法、构造函数或者字段注入实现。 3...

Global site tag (gtag.js) - Google Analytics