Spring5深入浅出篇:bean的生命周期

这篇具有很好参考价值的文章主要介绍了Spring5深入浅出篇:bean的生命周期。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Spring5深入浅出篇:bean的生命周期

什么是对象的⽣命周期

指的是⼀个对象创建、存活、消亡的⼀个完整过程

为什么要学习对象的⽣命周期

由Spring负责对象的创建、存活、销毁,了解⽣命周期,有利于我们使⽤好Spring为我们创建的对象

⽣命周期的3个阶段

  • 创建阶段

    Spring⼯⼚何时创建对象

      scope="singleton"
    

当bean标签中增加scope="singleton"时,当你创建对象所有的引用都是第一个对象的内存地址;sigleton:只会创建⼀次简单对象 默认值

Spring⼯⼚创建的同时,对象的创建
注意:设置scope=singleton 这种情况下 也需要在获取对象的同时,创建对象
<bean lazy-init="true"/>
	scope="prototype"

prototype:每⼀次都会创建新的对象

Spring⼯⼚会在获取对象的同时,创建对象
ctx.getBean("")
  • 初始化阶段
Spring⼯⼚在创建完对象后,调⽤对象的初始化⽅法,完成对应的初始化操作
1. 初始化⽅法提供:程序员根据需求,提供初始化⽅法,最终完成初始化操作
2. 初始化⽅法调⽤:Spring⼯⼚进⾏调⽤
  • 实现InitializingBean接⼝,重写afterProperitesSet()方法完成初始化操作
//程序员根据需求,实现的⽅法,完成初始化操作
public void afterProperitesSet(){
 
}
  • 对象中提供⼀个普通的⽅法(通过配置的方式将初始化方法指定给Spring)
public void myInit(){
 
}
<bean id="product" class="xxx.Product" init-method="myInit"/>
  • 细节分析

如果⼀个对象即实现InitializingBean 同时⼜提供的 普通的初始化⽅法 顺序

1. InitializingBean
2. 普通初始化⽅法

注⼊⼀定发⽣在初始化操作的前⾯

什么叫做初始化操作

资源的初始化:数据库 IO ⽹络 .....
  • 销毁阶段
Spring销毁对象前,会调⽤对象的销毁⽅法,完成销毁操作
1. Spring什么时候销毁所创建的对象?工厂关闭时销毁所创建的对象
 ctx.close();
2. 销毁⽅法:程序员根据⾃⼰的需求,定义销毁⽅法,完成销毁操作
 调⽤:Spring⼯⼚完成调⽤
  • 实现DisposableBean接口来重写destroy()方法来定义对象销毁时需要的操作
public void destroy()throws Exception{
 
}
  • 定义⼀个普通的销毁⽅法(通过配置的方式将对象销毁的方法指定给Spring)
public void myDestroy()throws Exception{
}
<bean id="" class="" init-method="" destroy-method="myDestroy"/>
  • 细节分析

销毁⽅法的操作只适⽤于 scope=“singleton”

什么叫做销毁操作

主要指的就是 资源的释放操作 io.close() connection.close();

写在最后

如果你想了解更多关于全干程序员demo,可以关注公众号-全干程序员demo,后面文章会首先同步至公众号。

Spring5深入浅出篇:bean的生命周期,Spring5深入浅出篇,spring,java,后端文章来源地址https://www.toymoban.com/news/detail-848405.html

到了这里,关于Spring5深入浅出篇:bean的生命周期的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深入理解Spring Bean生命周期及其管理机制

    Spring Framework是一种强大的Java开发框架,其中的Bean是Spring管理的对象实例。在Spring Framework中,Bean的生命周期是指Bean实例创建、初始化、使用和销毁等阶段。Spring Framework提供了一套完整的机制来管理Bean的生命周期,包括初始化和销毁方法的回调,以及Bean实例的自动装配等。

    2024年02月02日
    浏览(39)
  • 【JavaEE】深入了解Spring中Bean的可见范围(作用域)以及前世今生(生命周期)

    【JavaEE】Spring的开发要点总结(4) 在学习Spring中,Bean是最核心的操作资源 使用学习Bean对象是一个重点,我们已经知道如何存储它,获取它,现在我们要知道: 它的作用域,我们才可以知道怎么使用,才能得心应手,符合预期~ 它的生命周期,我们才能更加清楚的了解它的

    2024年02月14日
    浏览(51)
  • 深入浅出Spring AOP

    第1章:引言 大家好,我是小黑,咱们今天要聊的是Java中Spring框架的AOP(面向切面编程)。对于程序员来说,理解AOP对于掌握Spring框架来说是超级关键的。它像是魔法一样,能让咱们在不改变原有代码的情况下,给程序增加各种功能。 AOP不仅仅是一个编程范式,它更是一种思

    2024年01月20日
    浏览(61)
  • 【Spring】—— bean生命周期

    1、初始化容器 1)创建对象(分配内存) 2)执行构造方法 3)执行属性注入(set操作) 4)执行bean初始化方法 2、使用bean 1)执行业务操作 3、关闭/销毁容器 1)执行bean销毁方法

    2024年02月02日
    浏览(49)
  • Spring:Bean生命周期

    Bean 生命周期 是 bean 对象从创建到销毁的整个过程。 简单的 Bean 生命周期的过程: 1.实例化(调用构造方法对 bean 进行实例化) 2.依赖注入(调用 set 方法对 bean 进行赋值) 3.初始化(手动配置 xml 文件中 bean 标签的 init-method 属性值,来指定调用对应的初始化方法) 4.使用

    2024年02月13日
    浏览(42)
  • Spring bean 生命周期

    在互联网领域中,Spring框架扮演着重要的角色。作为一个开源的Java应用程序开发框架,Spring提供了一种灵活而强大的方式来构建可扩展的应用程序。Spring框架中的一个重要概念是Bean,它是Spring应用程序的基本构建块之一。了解Spring Bean的生命周期对于充分利用Spring框架的功能

    2024年02月11日
    浏览(46)
  • 【Spring】Bean的作用域与生命周期详情:请简述Spring的执行流程并分析Bean的生命周期?

     我们都知道,Spring框架为开发人员提供了很多便捷,这使得开发人员能够更加专注于应用程序的核心业务逻辑,而不需要花费大量时间和精力在技术细节上。作为一个包含众多工具方法的IoC容器,存取JavaBean是其极为重要的一个环节。本文就对Spring中的Bean的作用域和生命周

    2024年02月12日
    浏览(48)
  • 【spring】spring bean的生命周期

    spring bean的生命周期 简介 本文测试并且介绍了spring中bean的生命周期,如果只想知道结果可以跳到最后一部分直接查看。 一、bean的创建阶段 spring中的bean是何时创建的? 在spring中有一个非常重要的注解,叫做**@Scope**,这个注解是用来控制spring中的bean是否是单例的,一般情况

    2024年02月15日
    浏览(52)
  • Spring Bean的生命周期

    Bean生命周期的整个执行过程描述如下: 1、根据配置情况调用Bean构造方法或工厂方法实例化 Bean。 2、利用依赖注入完成Bean中所有属性值的配置注入。 3、如果Bean 实现了BeanNameAware 接口,则 Spring调用Bean的setBeanName()方法传入当前Bean的id值。 4、如果Bean实现了BeanFactoryAware 接口

    2023年04月22日
    浏览(64)
  • Spring -- Bean的生命周期

    Spring容器在进行实例化时,会将xml配置的bean的信息封装成一个BeanDefinition对象,Spring根据BeanDefinition来创建Bean对象,里面有很多的属性用来描述Bean   BeanDefinition 中几个重要方法如下 beanClassName:bean 的类名 initMethodName:初始化方法名称 properryValues:bean 的属性值 scope:作用域

    2024年02月15日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包