`
dongwenkai1
  • 浏览: 12269 次
  • 性别: Icon_minigender_1
  • 来自: 河南
文章分类
社区版块
存档分类
最新评论

关于spring容器里的bean的destroy-method问题

阅读更多
问题:
写了个PersonBean,里面定义了destroy()方法,如果在spring中配置该bean的destroy-method="destroy", 当该bean的scope为singleton时,容器关闭时会调用destroy方法,可一但改scope为prototype,容器关闭就不去调用destroy方法了 。

spring文档说明:
对于prototype作用域的bean,有一点非常重要,那就是Spring不能对一个 prototype bean的整个生命周期负责:容器在初始化、配置、装饰或者是装配完一个prototype实例后,将它交给客户端,随后就对该prototype实例不闻不问了。不管何种作用域,容器都会调用所有对象的初始化生命周期回调方法,而对prototype而言,任何配置好的析构生命周期回调方法都将不会被调用。清除prototype作用域的对象并释放任何prototype bean所持有的昂贵资源,都是客户端代码的职责
分享到:
评论

相关推荐

    Spring--2.Spring 中的 Bean 配置-2-1

    以上是Spring中基于XML的Bean配置的基本知识点,通过这些配置,我们可以精细控制Spring容器如何管理和实例化Bean,以及它们之间的依赖关系。随着Spring的发展,Java配置和注解配置逐渐成为主流,它们提供了更简洁、...

    Spring--2.Spring 中的 Bean 配置-1

    在XML中,可以使用`init-method`和`destroy-method`属性指定。对于注解配置,可以使用`@PostConstruct`和`@PreDestroy`注解。 5. **依赖注入**: Spring的核心特性之一就是依赖注入(Dependency Injection,DI)。它...

    深度解析spring容器管理bean

    在Spring框架中,Bean容器是核心组件之一,它负责管理和装配应用中的对象。"深度解析spring容器管理bean"这一主题,旨在深入理解Spring如何通过反射机制、依赖注入(DI)以及XML或Java配置来实现对Bean的生命周期...

    Spring--2.Spring 中的 Bean 配置-3

    此外,Bean的初始化和销毁方法可以使用`init-method`和`destroy-method`属性(在XML中)或`@PostConstruct`和`@PreDestroy`注解(在Java或注解配置中)来定义。这些方法会在Bean生命周期的特定时刻被调用。 最后,...

    spring容器初始化bean和销毁bean之前进行一些操作的方法

    5. 销毁:当容器关闭时,或者Bean不再需要时,会调用销毁方法,可以是`@PreDestroy`注解的方法或者通过`destroy-method`属性指定的方法。 在初始化Bean之前或之后添加操作,可以通过以下方式实现: 1. 实现...

    spring bean的生命周期

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

    08-IoC配置-bean的生命周期控制

    Spring IOC容器可以管理Bean的生命周期,允许在Bean生命周期的特定点执行定制的任务。 Spring IOC容器对Bean的生命周期...在 Bean 的声明里设置 init-method 和 destroy-method 属性, 为 Bean 指定初始化和销毁方法。

    spring学习心得

    资源释放:<bean destroy-method=""/>仅对单例对象有效 (2)IoC概念 Inversion of Control 控制反转或控制转移 Don't Call Me,We will call you! 控制权:对象的创建和调用关系的控制. (3)DI概念 Dependecy ...

    spring bean XML配置入门

    我们还可以在XML配置中定义Bean的初始化方法(`init-method`)和销毁方法(`destroy-method`),Spring容器会在适当的时间调用这些方法。 9. **Spring容器的启动与Bean的生命周期**: 一旦XML配置加载到Spring...

    spring1.2学习心得分享

    资源释放:<bean destroy-method=""/>仅对单例对象有效 (2)IoC概念 Inversion of Control 控制反转或控制转移 Don't Call Me,We will call you! 控制权:对象的创建和调用关系的控制. (3)DI概念 Dependecy ...

    架构师面试题系列之Spring面试专题及答案(41题).docx

    Spring 框架生命周期和 Bean 实例化过程 Spring 框架是一个非常流行的 Java Web 应用...同时,init-method 和 destroy-method 属性、BeanPostProcessor 接口也是非常重要的概念,它们可以用来动态扩展和修改 Bean。

    spring1.1开发理解

    资源释放:<bean destroy-method=""/>仅对单例对象有效 (2)IoC概念 Inversion of Control 控制反转或控制转移 Don't Call Me,We will call you! 控制权:对象的创建和调用关系的控制. (3)DI概念 Dependecy ...

    spring bean life cycle

    5. **销毁**:当Spring容器关闭时,或Bean的`destroy-method`属性指定的方法,或实现了`DisposableBean`接口的`destroy()`方法会被调用,进行清理工作。同样,`@PreDestroy`注解的方法也会在这个阶段执行。 在...

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

    在容器管理阶段,Spring容器负责Bean的实例化、属性注入、初始化、使用和销毁。而在用户自定义阶段,开发者可以通过定义回调方法或使用特定注解来介入Bean的生命周期过程。 1. **实例化**:Spring容器通过`Class`...

    Spring bean 管理

    - 通过<bean>标签的init-method和destroy-method属性指定初始化和销毁方法。 - 容器在创建Bean实例时调用初始化方法,在销毁Bean实例前调用销毁方法。 - Bean的生命周期过程包括实例化、属性赋值、BeanNameAware...

    spring容器学习笔记

    初始化和销毁方法在 Spring 容器中,我们可以通过配置来指定 Bean 在被创建后或销毁前需要执行的方法。这些方法可以用于执行初始化设置或者清理工作。 3.1. 初始化方法当我们想要在 Bean 创建完成后执行特定的初始...

    spring的bean加载顺序样例项目

    - 对于单例Bean,Spring容器在关闭时会调用`destroy-method`属性指定的方法或带有`@PreDestroy`注解的方法进行清理工作。对于非单例Bean,通常不进行销毁操作。 7. **生命周期回调** - Spring提供了一些回调接口...

    Spring Bean生命周期.pdf

    最后,在Spring容器关闭时,会调用实现DisposableBean接口的destroy方法来销毁Bean。 Spring Bean生命周期的管理让开发者能够精确控制Bean的创建和销毁过程,从而满足不同场景下的需求。开发者可以通过实现这些扩展...

    spring Ioc容器配置

    spring Ioc容器配置 IOC容器数据源配置 <!-- 配置数据源 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <value>org.gjt.mm.mysql.Driver ...

    spring bean 属性总结

    - **destroy-method属性**:指定Bean销毁方法,用于清理资源。 - **factory-bean/factory-method属性**:通过工厂方法创建Bean。`factory-bean`属性指向工厂Bean,而`factory-method`属性指定工厂方法。 - **...

Global site tag (gtag.js) - Google Analytics