iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java Spring Bean生命周期管理的示例分析
  • 136
分享到

Java Spring Bean生命周期管理的示例分析

2023-06-22 05:06:37 136人浏览 独家记忆
摘要

小编给大家分享一下Java spring Bean生命周期管理的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Spring Bean的生命周期管理一、Spring Bean的生命周期通过以下方式

小编给大家分享一下Java spring Bean生命周期管理的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

    Spring Bean的生命周期管理

    一、Spring Bean的生命周期

    Java Spring Bean生命周期管理的示例分析

    通过以下方式来指定Bean的初始化和销毁方法,当Bean为单例时,Bean归Spring容器管理,Spring容器关闭,就会调用Bean的销毁方法当Bean为多例时,Bean不归Spring容器管理,Spring容器关闭,不会调用Bean的销毁方法

    二、通过@Bean的参数(initMethod ,destroyMethod)指定Bean的初始化和销毁方法

    1、项目结构

    Java Spring Bean生命周期管理的示例分析

    2、Person
    public class Person {    public Person(){        System.out.println("Person 创建了...");    }    public void init(){        System.out.println("Person 初始化了...");    }    public void destroy(){        System.out.println("Person 被销毁了...");    }}
    3、Bean注册配置类(单实例)
    import com.dashu.bean.Person;import org.springframework.context.annotation.*;@Configurationpublic class BeanConfig {    @Bean(initMethod = "init",destroyMethod = "destroy")    public Person person(){        return new Person();    }}
    4、测试
    import com.dashu.bean.Person;import com.dashu.config.BeanConfig;import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class Main {    public static void main(String[] args) {        //加载配置类获取容器        AnnotationConfigApplicationContext annotationConfigApplicationContext = new AnnotationConfigApplicationContext(BeanConfig.class);        //获取Bean        Person bean = annotationConfigApplicationContext.getBean(Person.class);        //关闭容器        annotationConfigApplicationContext.close();    }}
    5、测试结果

    Java Spring Bean生命周期管理的示例分析

    6、Bean注册配置类(多实例)
    import com.dashu.bean.Person;import org.springframework.context.annotation.*;@Configurationpublic class BeanConfig {    @Scope("prototype")    @Bean(initMethod = "init",destroyMethod = "destroy")    public Person person(){        return new Person();    }}
    7、测试结果

    Java Spring Bean生命周期管理的示例分析

    三、Bean实现接口InitializingBean, DisposableBean

    1、Person
    import org.springframework.beans.factory.DisposableBean;import org.springframework.beans.factory.InitializingBean;public class Person implements InitializingBean, DisposableBean {    public Person(){        System.out.println("Person 创建了...");    }    @Override    public void afterPropertiesSet() throws Exception {        System.out.println("Person 初始化了...");    }    @Override    public void destroy() throws Exception {        System.out.println("Person 被销毁了...");    }}
    2、Bean注册配置类
    import com.dashu.bean.Person;import org.springframework.context.annotation.*;@Configurationpublic class BeanConfig {    @Bean    public Person person(){        return new Person();    }}
    3、测试结果

    Java Spring Bean生命周期管理的示例分析

    四、通过注解@PostConstruct和@PreDestroy

    @PostConstruct:标注在Bean的初始化方法上@PreDestroy:标注在Bean的销毁方法上
    1、Person
    import javax.annotation.PostConstruct;import javax.annotation.PreDestroy;public class Person {    public Person(){        System.out.println("Person 创建了...");    }    @PostConstruct    public void init(){        System.out.println("Person 初始化了...");    }    @PreDestroy    public void destroy(){        System.out.println("Person 被销毁了...");    }}
    2、测试结果

    Java Spring Bean生命周期管理的示例分析

    五、使用接口BeanPostProcessor实现类(后置处理器)

    1、项目结构

    Java Spring Bean生命周期管理的示例分析

    2、Person
    import org.springframework.stereotype.Component;import javax.annotation.PostConstruct;import javax.annotation.PreDestroy;@Componentpublic class Person {    public Person(){        System.out.println("Person 创建了...");    }    @PostConstruct    public void init(){        System.out.println("Person 初始化了...");    }    @PreDestroy    public void destroy(){        System.out.println("Person 被销毁了...");    }}
    3、Bean注册配置类
    import org.springframework.context.annotation.*;@Configuration@ComponentScan({"com.dashu"})public class BeanConfig {}
    4、BeanPostProcessor实现类(后置处理器)
    import org.springframework.beans.BeansException;import org.springframework.beans.factory.config.BeanPostProcessor;import org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor;import org.springframework.lang.Nullable;import org.springframework.stereotype.Component;@Componentpublic class MyBeanPostProcessor implements BeanPostProcessor {        @Override    public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {        System.out.println("初始化之前..."+beanName+"=["+bean+"]");        return bean;    }        @Override    public  Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {        System.out.println("初始化之后..."+beanName+"=["+bean+"]");        return bean;    }}
    5、测试结果

    Java Spring Bean生命周期管理的示例分析

    看完了这篇文章,相信你对“Java Spring Bean生命周期管理的示例分析”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网精选频道,感谢各位的阅读!

    --结束END--

    本文标题: Java Spring Bean生命周期管理的示例分析

    本文链接: https://www.lsjlt.com/news/302602.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • Java Spring Bean生命周期管理的示例分析
      小编给大家分享一下Java Spring Bean生命周期管理的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Spring Bean的生命周期管理一、Spring Bean的生命周期通过以下方式...
      99+
      2023-06-22
    • Spring bean生命周期验证的示例分析
      这篇文章主要为大家展示了“Spring bean生命周期验证的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Spring bean生命周期验证的示例分析”这篇文章吧。一、从源码注释看be...
      99+
      2023-05-30
      spring bean
    • Spring配置使用之Bean生命周期的示例分析
      这篇文章主要介绍了Spring配置使用之Bean生命周期的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。基本概念Spring 中的 Bean 的生命周期,指的是 Be...
      99+
      2023-05-31
      spring bean
    • Java之Bean的生命周期实例分析
      本篇内容主要讲解“Java之Bean的生命周期实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java之Bean的生命周期实例分析”吧!一、什么是生命周期首先理解下什么是生命周期从创建到消...
      99+
      2023-07-02
    • Spring Bean生命周期源码分析
      这篇“Spring Bean生命周期源码分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Spring ...
      99+
      2023-07-05
    • 【Spring】Spring的Bean的生命周期
      作者简介:大家好,我是五度鱼,一个普通的Java领域博主,不停输出Java技术博客和干货。座右铭:锲而不舍,金石可镂。个人主页:五度鱼学Java的主页 文章目录 前言1. 什么是Bean的生命周期?2. 为什么要知道Bean...
      99+
      2023-08-17
      java Bean生命周期 spring
    • Spring Bean中的作用域和生命周期实例分析
      这篇文章主要介绍“Spring Bean中的作用域和生命周期实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Spring Bean中的作用域和生命周期实例分析”文章能帮助大...
      99+
      2023-07-02
    • Spring创建Bean的生命周期详析
      目录1.Bean 的创建生命周期2.Spring AOP 大致流程3.Spring 事务4.Spring 源码阅读前戏BeanDefinitionBeanDefinitionRead...
      99+
      2024-04-02
    • vue生命周期的示例分析
      这篇文章主要介绍了vue生命周期的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。vue生命周期图解感谢你能够认真阅读完这篇文章,希望小编分享的“vue生命周期的示例分...
      99+
      2023-06-14
    • Java之Spring Bean作用域和生命周期源码分析
      这篇文章主要讲解了“Java之Spring Bean作用域和生命周期源码分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java之Spring Bean作用域和生命周期...
      99+
      2023-07-05
    • Vue2.0生命周期的示例分析
      这篇文章主要为大家展示了“Vue2.0生命周期的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue2.0生命周期的示例分析”这篇文章吧。网上已经有很多...
      99+
      2024-04-02
    • 怎样理解Spring Bean生命周期
      怎样理解Spring Bean生命周期,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在网上已经有跟多Bean的生命周期的博客,但是很多都是基于比较老的版本了,最近把整个流程...
      99+
      2023-06-16
    • 全面详解Spring Bean生命周期教程示例
      目录Spring 中 Bean 的生命周期Bean 的实例化构造方法注入工厂方法注入Bean 的属性赋值setter注入构造方法注入Bean 的初始化初始化方法Initializin...
      99+
      2023-05-14
      Spring Bean生命周期 Spring Bean
    • Spring源码解析之Bean的生命周期
      一、Bean的实例化概述 前一篇分析了BeanDefinition的封装过程,最终将beanName与BeanDefinition以一对一映射关系放到beanDefinitionMa...
      99+
      2024-04-02
    • Spring Bean的生命周期 -- Spring入门(三)
      文章目录 前言1. 理解bean的生命周期2. Bean 生命周期的执行过程3. Bean生命周期控制入门案例4. 关闭IOC容器的两种方式5. 通过继承接口绑定生命周期方法 总结 前言 为了巩固所学的知识,作者尝试着开始...
      99+
      2023-08-17
      spring java 后端
    • Vue中生命周期的示例分析
      这篇文章将为大家详细讲解有关Vue中生命周期的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。最简单的Vue 实例//html <div id=&q...
      99+
      2024-04-02
    • spring之Bean的生命周期详解
      Bean的生命周期:Bean的定义——Bean的初始化——Bean的使用——Bean的销毁Bean的定义Bean 是 spring 装配的组件模型,一切实体类都可以配置成一个 Bean ,进而就可以在任何其他的 Bean 中使用,一个 Be...
      99+
      2023-05-31
      spring bean 生命周期
    • Spring bean的生命周期是什么
      Spring bean的生命周期包括以下阶段:1. 实例化(Instantiation):在容器启动时,Spring根据配置信息或注...
      99+
      2023-08-24
      Spring bean
    • React中生命周期的示例分析
      这篇文章将为大家详细讲解有关React中生命周期的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。React的生命周期两张图带你理解 React的生命周期React的生命周期(旧)class&nbs...
      99+
      2023-06-20
    • Spring Bean的生命周期是什么
      这篇“Spring Bean的生命周期是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Spring ...
      99+
      2023-07-05
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作