Spring5学习-bean的生命周期

Spring框架中Bean的生命周期 Spring中Bean有几种作用域 NULL 博文链接:https://cici9898-007.iteye.com/blog/1407695 立即下载

bean的生命周期

1、生命周期

(1)从对象创建到对象销毁的过程

2、bean 生命周期(五步)

(1)通过构造器创建 bean 实例(无参数构造)
(2)为 bean 的属性设置值和对其他 bean 引用(调用 set 方法)
(3)调用 bean 的初始化的方法(需要进行配置初始化的方法)
(4)bean 可以使用了(对象获取到了)
(5)当容器关闭时候,调用 bean 的销毁的方法(需要进行配置销毁的方法)

bean类

public class Order {
    private String oname;

    public Order() {
        System.out.println("第一步,无参构造方法,实例化bean");
    }

    public void setOname(String oname) {
        this.oname = oname;
        System.out.println("第二步,调用set设置属性方法");
    }
	//需要自己创建在xml文件中通过init-Method属性配置
    public void init(){
        System.out.println("第三步,初始化方法");
    }
	//需要自己创建在xml文件中通过destory-Method属性配置	
    public void destory(){
        System.out.println("第五步,销毁方法");
    }
}

xml文件

<!--配置init方法和destory方法 -->
<bean id="order" class="com.zjj.spring5.Order" 
init-method="init" 
destroy-method="destory">
      <property name="oname" value="电脑"></property>
</bean>

代码演示

@Test
    public void test5(){
        ApplicationContext context =
                new ClassPathXmlApplicationContext("bean4.xml");
        Order order = context.getBean("order", Order.class);
        System.out.println("第四步,bean对象已经创建完成,开始使用");
        ((ClassPathXmlApplicationContext)context).close();
    }

在这里插入图片描述

4、加上bean 的后置处理器,bean 生命周期有七步

后置处理器需要实现BeanPostProcessor接口,重写方法

(1)通过构造器创建 bean 实例(无参数构造)
(2)为 bean 的属性设置值和对其他 bean 引用(调用 set 方法)

(3)把 bean 实例传递 bean 后置处理器的方法 postProcessBeforeInitialization

(4)调用 bean 的初始化的方法(需要进行配置初始化的方法)

(5)把 bean 实例传递 bean 后置处理器的方法 postProcessAfterInitialization

(6)bean 可以使用了(对象获取到了)
(7)当容器关闭时候,调用 bean 的销毁的方法(需要进行配置销毁的方法)

MyPost后置处理器

public class MyPost implements BeanPostProcessor {
    @Override
    public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
        System.out.println("后置处理器初始化方法前");
        return bean;
    }

    @Override
    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
        System.out.println("后置处理器初始化方法前后");
        return bean;
    }
}

xml文件配置

<!--   配置后置处理器(实现接口后自动识别)-->
   <bean id="myPost" class="com.zjj.spring5.MyPost"></bean>

结果
在这里插入图片描述

总结

还阔以

解决Word中英文混排的5个常见排版问题(含单词换行、间距调整等) 本文详细解析Word中英文混排的5大常见排版问题,包括单词换行、间距调整、标点混用等,提供专业解决方案。通过设置段落格式、调整兼容性选项和使用字体组合等技巧,帮助用户轻松解决文档排版难题,提升专业性和阅读体验。 阅读详情

相关推荐

SAP-MM-采购申请字段解析

采购申请抬头以及行项目字段解析

yanzibing99的博客 7306

Spring5 Bean生命周期

1.Bean生命周期 (1)通过构造器创建bean实例(无参数构造) (2)为bean的属性设置值和对其它bean引用(调用set方法) (3)调用bean的初始化的方法(需要进行配置初始化的方法) (4)bean可以使用了(对象获取到了) (5)当容器关闭时候,调用bean的销毁的方法(需要进行配置销毁的方法) 2. 代码实现 (1)类 package com.leo.spring5.bean; public class Life { private String nam

深漂小码哥 359

FPGA设计中的扇出约束实战:从XDC到代码优化的全流程解析

本文全面解析FPGA设计中扇出约束的重要性与应用,详细介绍了从XDC约束文件设置到HDL代码优化的全流程实战技巧。通过MAX_FANOUT约束控制信号负载,结合寄存器复制和物理优化策略,有效解决高扇出导致的时序违例和布线拥塞问题,提升设计性能和可靠性。

nept的博客 797

07-Spring5 bean的生命周期

1.Bean的生命周期      Spring 容器可以管理 singleton 作用域 Bean 的生命周期,在此作用域下,Spring 能够精确地知道该 Bean 何时被创建,何时初始化完成,以及何时被销毁。     而对于 prototype 作用域的 Bean,Spring 只负责创建,当容器创建了 Bean 的实例后,Bean 的实例就交给客户端代码管理,Spring 容器将不再跟踪其生命周期。每次客户端请求 prot

鸣鼓ming的博客 207

保姆级教程:用北醒TFmini-i-CAN雷达给PixHawk飞控加装‘眼睛’,实现自动避障与定高

经过多次测试,前向雷达的最佳安装位置是机架前部下方5-10cm处,倾斜角度20-30度。电源方面,建议为CAN设备单独供电,避免电机启动时的电压骤降导致数据异常。北醒TFmini-i-CAN雷达与PixHawk飞控的组合,为DIY爱好者打开了低成本实现智能避障的大门。实际部署时,需确保整个CAN网络的波特率一致(TFmini-i默认为250kbps),每个设备具有唯一ID。雷达的安装角度也直接影响检测效果,建议通过3D打印支架将雷达向前下方倾斜15-30度。当使用多个雷达时,需为每个设备创建独立的参数组。

weixin_30892889的博客 337

使用python读取卫星测高数据并做相应的处理

5.在python处理结果如下,最大的优点就是比matlab快30-40倍。4.进行粗差的如NaN值,还有进行3倍方差进行对粗差处理。1.首先遍历卫星数据的文件,挨个读取每个数据。有问题,请各位读者及时告知,一起完善内容。3.进行下一步,筛选在研究区域的数据。4.进行按天求平均和按月求平均。2.读取数据主体代码。

爱下去更难! 1133

spring Bean的完整生命周期

spring 容器中的bean的完整生命周期一共分为十一步完成。 1.bean对象的实例化 2.封装属性,也就是设置properties中的属性值 3.如果bean实现了BeanNameAware,则执行setBeanName方法,也就是bean中的id值 4.如果实现BeanFactoryAware或者ApplicationContextAware ,需要设置setBeanFactory...

weixin_30562507的博客 160

【CANdelaStudio编辑CDD】-1.2-给$10服务SessionControl创建一个新Session会话并修改Session state machine会话状态机(UDS诊断)

前一篇:【UDS诊断描述文件CDD】-1.1-ISO_14229中$10服务理论部分https://blog.youkuaiyun.com/qfmzhu/article/details/120375515案例背景: 在CDD中如何给$10服务创建一个新的Session会话; 在CDD中如何给$10服务修改Session state machine会话状态机。 目录 1 查看$10服务中已有的Session会话​ 2 查看$10服务中已有的Session state machine会话状态机 3 在$10...

「汽车电子助手」的博客 6076

spring源码剖析之spring bean循环依赖

spring bean循环依赖时序图

快乐小码农的博客 428

【大模型】Coze AI 智能体工作流从配置到使用实战详解

Coze 扣子智能体工作流从配置到使用实战详解

congge 1万+

【图像增强(Image Enhancement )】专栏的相关说明,包含适配人群、专栏简介、专栏亮点、阅读方法、定价理由、品质承诺、关于更新、关于答疑、文章目录、与我联系等(持续更新中...)

专栏内涉及的算法都是基于深度学习的图像增强算法;收录的文章基本上是基于Pytorch框架实现的,部分基于Tensorflow;预计完成100篇论文,并持续更新;专栏内文章主要为两部分:【论文精读】与【论文复现】论文精读:读懂论文,总结提炼,聚焦核心内容,不只是全文翻译论文复现:跑通流程,源码解析,提升代码能力,得到去噪结果以及指标计算综合而言,从大到小拆解模型结构,从小到大实现模型搭建。实现论文与源码的统一,深入理解论文行文逻辑与代码实现逻辑,融汇贯通二者思想,并学以致用。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 4054

Spring学习5(3):Bean的生命周期

Spring学习5(3)  Bean生命周期由多个特定的生命阶段组成,每个生命阶段都开出接口,允许外界由此对Bean施加控制。  在spring中有两个层面来定义Bean的生命周期,一个是Bean的作用范围,一个是实例化Bean时所经历的一系列阶段。 BeanFactory中Bean的生命周期 生命周期图解  具体调用过程如下: 当调用getBean()来请求某一个Bean时,如果容器注册了o...

real_Rickys的博客 2552

【错误解决】本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止

转载请注明出处:http://blog.youkuaiyun.com/qq_26525215 本文源自【大学之旅_谙忆的博客】 在启动mysql服务时出现该错误: 本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止。mysql 版本 5.7.14 系统 win 7后来经过一系列的百度,谷歌,总算是解决了。首先,你需要把原来的服务删除:mysqld --remove mysq

谙忆-陈浩翔 12万+

Spring5 Bean生命周期源码学习

重点在 new ClassPathXmlApplicationContext(“bean_7.xml”); 这一段代码,进入ClassPathXmlApplicationContext构造方法 进入refresh方法 prepareRefresh方法解读 obtainFreshBeanFactory创建工厂过程 加载BeanDefinitions 首先要清楚Bean从xml到BeanDefinitions的过程 1、首先XML文件通过ResourceLoader加载器加载为Resource对象 2、

weixin_39327352的博客 504

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Spring学习(5)-spring Bean的作用范围和生命周期

spring Bean的作用范围和生命周期 本文目录spring Bean的作用范围和生命周期一.Spring Bean的作用域1.1 作用域的种类1.2 singleton和prototype 作用域1.3 代码演示1.4 小结二. Spring Bean的生命周期2.1 为什么要了解 Bean的生命周期2.2 bean对象的生命周期2.3 代码演示2.4 小结 一.Spring Bean的作用域 Spring bean 的 5 种作用域,详细介绍 singleton 和 prototype 这两种最

算法工程师dongab的博客 1285

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Spring5学习(二):bean生命周期

bean生命周期有以下阶段: 1、通过构造器创建bean实例(无参数构造) 2、为bean的属性设置值和对其他bean引用(调用set方法) 3、调用bean的初始化方法(需要配置初始化的方法) 4、获取到bean的对象 5、当容器关闭时,调用bean的销毁方法(需要配置销毁的方法) 具体代码: Orders.java: package com.atguigu.spring5.bean; public class Orders { //无参数构造 public Or

m0_49499183的博客 201

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

spring学习教程5-spring容器管理bean的生命周期

Bean对象的在IOC容器中的生命周期 例如:我们需要从容器中获得一个Bean的对象: 1、容器创建该Bean的对象(默认调用无参构造器)         2、容器给这个Bean对象注入依赖(默认是set方式)        3、如果这个Bean已经实现了BeanNameAware接口,容器会调用它实现的setBeanName(String)方法,此处传递的就是Spring配置文件中Bea

qq_26464179的博客 261

5 - Spring 学习笔记 - IOC 操作 Bean 管理 FactoryBean、Bean 作用域、Bean 生命周期

IOC 操作 Bean 管理(FactoryBean) 1、Spring 有两种类型的 bean ,一种普通 bean,另外一种工厂 bean(FactoryBean)。 2、普通 bean:在配置文件中,定义bean 类型就是返回值类型 class 定义的是什么类型,返回的就是什么类型。比如: <!-- 定义的是 Book 类型,返回的就是 Book 类型 --> <bean id="book" class="com.tt.stu.collectiontype.Book">

m0_53708566的博客 231

Spring5学习笔记(七)—— IOC操作之Bean管理——Bean生命周期

IOC操作之Bean管理的Bean生命周期相关学习笔记

kuaixiao0217的博客 178

【Spring】学习笔记5——Spring中Bean的作用域与生命周期

1、Spring中Bean的作用域: 2、Bean在容器中的生命周期 初始化的两种方法: 1)使用init-Method属性制定那个方法在Bean的依赖关系设置好后自动执行。 2)实现initializingBean接口实现该接口必须实现voidafterPropertiesSet() throws Exception就不用设置 init-method方法了。 销毁的两种...

你只管努力, 232

Spring5学习笔记03--Bean的生命周期

Spring Bean 生命周期各个阶段,模版方法设计模式

qingqingxiangyang的博客 275

Spring学习--5 Bean生命周期管理

Bean生命周期管理 目的:掌握Bean生命周期管理方法,主要是标明initMethod和destroyMethod方法。 两种形式可用来管理Bean的初始化和销毁,一种是在配置中采用@Bean注解,@Bean(initMethod=”INIT_METHOD”, destroyMethod=”DESTROY_METHOD”);另外一种是在Bean的方法上分别注解@PostConstruct和@...

xiewz1112的博客 189

Spring5 -- 学习笔记 - 3.IoC容器-操作Bean管理(bean的生命周期)

Spring5 – 学习笔记 - 3.IoC容器    1、bean的生命周期      第一:通过构造器创建bean实例对象(调用无参构造)。      第二:为bean的属性设置相应的值和对其他bean的引用(调用类属性的set方法)。      第三:把bean实例传递给bean后置处理器的方法postProcessBefo

weixin_44231416的博客 211

spring2.5.6学习笔记七:Spring管理的Bean的生命周期

默认情况下,会在初始化spring容器的时候实例化bean,验证 在构造方法中输出 public PersionServiceBean(){     System.out.println("我被实例化了!"); } 测试类中单执行下面代码 ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml"); 输出:我被实例化了!   但如果scope="prototype" 是在获取bean的时候

天乙贵人 432

Spring4.0学习笔记(5) —— 管理bean的生命周期

Spring IOC 容器可以管理Bean的生命周期,Spring允许在Bean生命周期的特定点执行定制的任务 Spring IOC 容器对Bean的生命周期进行管理的过程: 1、通过构造器或工厂方法创建Bean的实例 2、为Bean的属性设置值和对其他Bean的引用 3、调用Bean的初始化方法 4、Bean可以使用了 5、当容器关闭时,调用Bean的销毁方法 bean文件 ...

weixin_30788731的博客 100

Spring框架学习-IOC 操作-Bean 管理XML方式(bean的作用域,bean生命周期,自动装配,外部属性文件)-5

Spring框架学习-IOC 操作-Bean 管理(bean的作用域,bean生命周期,自动装配)-5

软件手的博客 162
上一篇: Spring5学习-bean的作用域
下一篇: Spring5学习-bean的自动装配与外部属性文件引入
稚淮粥
博客等级 码龄6年 11粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值