Spring IOC 容器中 Bean 的生命周期

Spring IOC之Bean的生命周期 Spring之Bean的生命周期 阅读详情

Spring IOC 容器中 Bean 的生命周期

Spring IOC 容器可以管理 Bean 的生命周期, Spring 允许在 Bean 生命周期
的特定点执行定制的任务。
Spring IOC 容器中 Bean 的生命周期如下:

① .  通过构造器或工厂方法创建 Bean  实例 : 调用构造器
② .  为 Bean  的属性设置值和对其他 Bean  的引用 : 调用 setter
③  将 将 Bean 给 实 例 传 递 给 Bean  后 置 处 理 器 的
postProcessBeforeInitialization  方法
④ .  调用 Bean  的初始化方法 : init- - method
⑤  . 将 将 Bean 给 实 例 传 递 给 Bean  后 置 处 理 器 的
n postProcessAfterInitialization  方法
⑥ . Bean  可以使用了
⑦ .  当容器关闭时 ,  调用 Bean  的销毁方法 : destroy- - method 。
Bean  的初始化和销毁方法:可以通过 bean 节点的 init-method 和
destroy-method 来配置 Bean 的初始化方法和销毁方法:

<bean id="person" class="com.atguigu.spring.lifecycle.Person"
init- - method="init"
destroy- - method="destroy">
<property name="name" value="abcd"></property> 
</bean>

注意:ApplicationContext 接口中没有关闭容器的方法,所以使用
ApplicationContext 接口作为 IOC 容器的引用,destroy-method 将不会起到
作 用 , 需 要 使 用 ApplicationContext 的 子 接 口
ConfigurableApplicationContext。
详解 Bean 后置处理器:

Bean 后置处理器 : Spring 提供的特殊的 Bean
①. Bean 后置处理器允许在调用初始化方法(即:bean 节点 init-method
属性对应的方法的前后)前后对 Bean 进行额外的处理.
②. Bean 后置处理器对 IOC 容器里的所有 Bean 实例逐一处理, 而非单一
实例. 其典型应用是: 检查 Bean 属性的正确性或根据特定的标准更改 Bean
的属性.
③. 对Bean 后置处理器而言, 需要实现 BeanPostProcessor 接口

public class PersonPostProcessor implements BeanPostProcessor {
/**
* arg0 : IOC  容器中 bean  的实例
* arg1 : IOC  容器中该 bean  的名字
* */ /
@Override
public Object postProcessAfterInitialization(Object arg0, String arg1)
throws BeansException {
if(arg0 instanceof Person){
System.out.println("postProcessAfterInitialization");
Person person = (Person) arg0;
String name =  person.getName();
if(!name.equals("AAAA")){
System.out.println("name  值必须为 AAAA!");
person.setName("AAAA");
}
} }
return arg0;
}
@Override
public Object postProcessBeforeInitialization(Object arg0, String arg1)
throws BeansExceptio n {
System.out.println("postProcessBeforeInitialization");
return arg0;
}
} }

④. Bean 后置处理器需要在 IOC 容器中进行配置,但不需要指定 id 属性,

Spring IOC 容器会自动的识别这是个 Bean 后置处理器,自动的使用它。

<bean class="com.atguigu.spring.lifecycle.PersonPostProcessor"/>
Spring入门到精通:第二章 IOC容器(XML方式):8.IOC容器Bean管理XML方式-bean的生命周期 生命周期:对象从创建到销毁的过程。 一、bean生命周期 (1)通过构造方法创建bean实例(无参构造方法); (2)为bean的属性设置值和其它bean引用(调用set方法); (3)调用bean的初始化方法(需要进行配置初始化的方法); (4)使用bean(可以获取对象); (5)当容器关闭的时候,调用bean的销毁方法(需要进行配置销毁的方法) 二、演示bean的生命周期 (1)编写类 package com.kfit.test.test7; /** * @au.. 阅读详情

相关推荐

【WRF-CMAQ实战指南】从环境配置到测试案例运行全解析

本文详细解析了WRF-CMAQ从环境配置到测试案例运行的全过程,包括系统环境检查、依赖库安装、源码获取与项目初始化、关键配置技巧、编译实战与排错、测试案例运行验证等关键步骤。通过实战指南,帮助用户快速掌握WRF-CMAQ的安装和运行技巧,提升空气质量模拟的效率。

year5的博客 244

Spring Bean的生命周期详细梳理

在Spring IOC容器中,Bean的生命周期大致如下:这就是Spring IOC容器管理Bean的生命周期,帮助我们管理对象的创建和销毁,以及在适当的时机做适当的事情。我们可以将生命周期的触发称为回调,因为生命周期的方法是我们自己定义的,但方法的调用是由框架内部帮我们完成的,所以可以称之为“回调”。让我们先了解一种最容易理解的生命周期阶段:初始化和销毁方法。这些方法可以在Bean的初始化和销毁阶段起作用,我们通过示例来演示这种方式。为了方便演示XML和注解的方式,接下来我们会创建两个类来分别进行演示,分

qq_35222843的博客 1655

MMI分束器仿真优化:用Lumerical FDTD实现95%耦合效率的实战技巧

本文详细介绍了使用Lumerical FDTD软件对MMI分束器进行仿真优化的实战技巧。通过构建高保真模型、精确配置光源与边界条件,并重点优化波导结构与taper设计,系统性地将器件的耦合效率提升至95%以上。文章还分享了利用参数扫描、varFDTD加速等高级方法,帮助硅光芯片设计工程师高效实现高性能MMI分束器设计。

rainy的博客 771

Spring之Spring Bean生命周期

生命周期 什么是生命周期呢? 当前组件在创建到销毁经历的一系列过程,称之为生命周期 生命周期的分为几个阶段?每个阶段有哪些钩子函数? 生命周期分为3个阶段,这三个阶段分别是: 初始化 、 运行中 、 销毁 什么是Bean 首先,我们来看看Spring官方文档对于Bean的定义: 在 Spring 中,构成应用程序主干并由 Spring IoC 容器管理的对象称为 bean。bean 是由 Spring IoC 容器实例化、组装和管理的对象。否则,bean 只是应用

鑫709的博客 796

二阶锥松弛在配电网最优潮流计算中的应用(IEEE33节点配电网最优潮流算例matlab程序)(yalmip+cplex)

文献[7]建立了以支路潮流计算为基础的OPF模型,针对OPF中的非凸性约束,采用SOCR技术将其松弛为二阶锥约束,整个 OPF 模型则被转化为二阶锥规划( Second Order Cone Programming,SOCP)问题,对其求解可以得到全局最优解。其次结合辐射型配电网潮流特点建立支路潮流约束,并考虑配电网中的可控单元,包括分布式电源和离散、连续无功补偿装置,建立其出力约束,该模型为非凸非线性模型;式中,αj,t和βij,t分别为t时段内节点i电压的二次方和支路ij电流的二次方。

weixin_47365903的博客 1万+

Android Qcom USB Driver学习(十三)

该系列文章总目录链接与各部分简介: Android Qcom USB Driver学习(零) Android Qcom USB Driver学习(八) Android Qcom USB Driver学习(九)deals with the USB Power Delivery resources used by one or more ports on the basis of the local device policy the basis of the local device policy.opera

Android驱动开发 2611

Spring IOC中bean的生命周期

spring中bean的生命周期

qq_40834643的博客 671

pytorch图像分类篇: 花分类数据集下载和AlexNet网络搭建训练

一、花分类数据集下载 data_setdata_set该文件夹是用来存放训练数据的目录 使用步骤如下: (1)在data_set文件夹下创建新文件夹"flower_data" (2)点击链接下载花分类数据集 (3)解压数据集到flower_data文件夹下 (4)执行"flower_data.py"脚本自动将数据集划分成训练集train和验证集val ├── flower_data ├── flower_photos(解压的数据集文件夹,3670个样本) ...

橙子的博客 8216

Spring IOC的理解,Bean的生命周期

spring IOC有两个核心思想就是ioc控制反转和DI依赖注入 ioc控制反转的基本思想是,将原先的对象控制从使用者控制,转交给了spring来控制管理 DI注入就是将对应的熟悉值注入到具体的方法之中 spring提供@Autowired和@Resource等注解注入 对象会存储在map中,在spring使用map结构的singletonObjects存放完整的bean对象 整个bean的生命周期从创建到销毁的过程都由sprin来管理 bean的生命周期 bean的生命周期主要分为初始化使

sayhitoloverOvO的博客 715

SMPTE ST 2110 概论(一)

SMPTE ST 2110 概论(一)前言ST 2110与ST 2022-6ST 2110-10:基本结构与时序ST 2110-20:未压缩的视频流后续 前言 这是一份我在实习期间制作的,关于SMPTE ST 2110的简单介绍。 这篇文章主要以梳理总结 SMPTE ST 2110 的概念为主,关于具体的内容,比如IP数据报的格式、RTP时间戳的具体代码内容等等,大家可以查阅 SMPTE ST 2...

Cidd0422的博客 2万+

用 Claude Code 快速摸清一个陌生代码库

摘要:Claude Code作为AI编码助手,能帮助开发者快速理解陌生代码库。与传统代码搜索不同,它从项目根目录出发,通过分析目录结构、配置文件等技术栈信息,提供系统级的概览。最佳实践是先通过"give me an overview"获取整体架构,再深入数据模型、认证流程等核心模块。它能生成术语表、编码规范和推荐的代码阅读路径,极大降低新成员的学习成本。相比传统方式,Claude Code能主动探索项目上下文,无需人工整理相关文件,使代码理解过程更接近有经验的工程师带教。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 89

Spring中IOC容器和Bean的生命周期

IOC容器和Bean的生命周期 文章目录IOC容器和Bean的生命周期一、IOC容器的初始化过程二、Bean的生命周期 一、IOC容器的初始化过程 IOC容器是一个Map(可以通过 getBean() 获取到对应key的value,value存放的是对象) 先放一张整体的流程图 关于上图的说明: BeanDefinition <!--假设有如下的bean信息--> <context:property-placeholder location="dbconfig.properties"

立志成为一个前端、后端、测试全方位发展的程序员 1124

搭建一个简单的 Django + Vue 项目

在本文中,我将为您详细介绍如何搭建一个简单的 Django + Vue 项目。Django 是一个使用 Python 编写的高级 Web 框架,而 Vue 是一个流行的 JavaScript 框架,用于构建用户界面。通过结合 Django 和 Vue,我们可以创建强大的全栈 Web 应用程序。创建 Django 项目设置 Django 后端创建 Vue 前端连接 Django 和 Vue让我们开始吧!

JfpBlockchain的博客 350

Spring IOC容器启动流程(Bean生命周期)

传统方式:顾客(调用者)直接向厨师(被依赖对象)点餐,需要自己知道厨师是谁、如何联系厨师。 IoC方式:顾客只需告诉服务员(IOC容器)"我要一份牛排",服务员会自动安排厨师做好并送到桌前。顾客不需要关心厨师是谁、如何制作。

m0_60697978的博客 1031

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Spring IOC 容器中bean的生命周期

Spring IOC 容器可以管理bean的生命周期,spring允许在bean生命周期内对其执行特定的任务。 spring IOC 容器对bean的生命周期进行管理过程 1 通过构造器或者工厂方法创建bean实例 2 为bean的属性设置值或者引用其他bean实例 3 执行 bena初始化方法 4 使用bean 实例 5 关闭容器时候,执行bean销毁方法 废话不多说上代码: User实体类 ...

. 621

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Spring IOC容器启动流程与Bean生命周期源码分析

文章目录1、IOC容器启动与Bean生命周期源码分析1、new ClassPathXmlApplicationContext初始化过程1、Super(parent)2、setConfigLocations(configLocations)3、refresh()1、prepareRefresh2、obtainFreshBeanFactory1、加载bean声明的一系列过程2、注册bean声明3、prepareBeanFactory4、postProcessBeanFactory2、 ApplicationCo

学无止境! 2343

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Spring IOC容器、Spring Bean的生命周期、Spring Aop

Spring IOC容器、Spring Bean的生命周期、Spring Aop

ZLW的博客 632

Java-34 深入浅出 Spring - IoC容器体系 Bean生命周期 PostProcessor applicationContext

IoC(Inversion of Control,控制反转)是一种设计原则,指的是将对象的控制权从程序中转移到外部容器或框架中。传统的面向对象编程(OOP)中,类的实例化、依赖关系管理等通常由程序代码显式地控制,而在 IoC 中,容器负责这些工作。IoC 使得类的依赖关系从硬编码转化为动态注入,从而增强了系统的可扩展性、可维护性以及解耦性。在 IoC 中,控制反转的核心思想是:系统中不再由应用程序显式地创建对象,而是通过容器来创建和管理对象。容器负责控制对象的生命周期,并在需要时为对象提供依赖。

谢谢你的喜欢 我们一起无限进步 5785

spring-ioc的容器,和Bean的生命周期

1.spring-ioc容器启动的三种方式 /** * context:以注解的方式启动@Configuration * context1:资源路径下以xml配置文件启动 * context2:系统路径下以xml配置文件启动 */ AnnotationConfigApplicationContext context =...

qq_44742816的博客 321

Spring IOC容器启动和Bean的生命周期

文章目录IOC容器启动流程图解源码解读this()构造阶段this.register()注册阶段this.refresh()阶段Spring生命周期 IOC容器启动流程图解 源码解读 @Configuration @ComponentScan("cn.edu.guet.pojo") public class MyConfig { @Bean public Admin registerAdmin() { return new Admin(); } } // 启动IO

pmc0_0的博客 205

Spring框架详解:IoC容器、依赖注入和Bean生命周期

Spring框架通过其核心特性IoC和DI,彻底改变了Java应用的开发方式。它提供了一种松耦合、易测试的方式来构建应用程序。通过深入理解Bean的生命周期、依赖注入的方式以及Spring的配置选项,开发者可以更好地利用Spring框架来创建健壮、可维护的应用程序。随着Spring生态系统的不断发展,如Spring Boot的引入,使得开发Spring应用变得更加简单和快速。

随喜 1720

spring_(10)IOC容器中Bean的生命周期

SpringIOC容器可以管理Bean的生命周期,Spring允许在Bean生命周期的特定点执行定制的任务 SpringIOC容器对Bean的生命周期进行管理的过程: 通过构造器或工厂方法创建Bean实例 为Bean的属性设置值和对其他Bean的引用 调用Bean的初始化方法 Bean可以使用了 当容器关闭时,调用Bean的销毁方法 在Bean的声明里设置 init-method 和 de...

方兴未艾 599

Spring IoC容器与Bean管理18:Bean对象的作用域及生命周期三:对象生命周期;

说明: (1)本篇博客主要根据案例阐述对象的声明周期; (2)其中,比较重要的是注意下这个对应关系: (3)还有就是调用【registerShutdownHook()】销毁IoC容器; 目录 一:bean对象生命周期说明 bean的生命周期: 二:创建对象的演示 1.创建对象的过程 在readme.md中,增加一点项目说明: 创建entity包,添加Order类: applicationContext.xml: SpringApplication程序入口类: 2.销...

小枯林的博客 693

什么是ioc容器?spring中bean的生命周期

ioc容器的初始化以及bean的生命周期

shabulaji_123的博客 472

11-Spring-IOC 容器中 Bean 的生命周期

IOC 容器中 Bean 的生命周期方法 创建 Bean 后置处理器 添加 Bean 后置处理器后 Bean 的生命周期 流程总结: 容器创建的时候执行构造函数及set方法 然后执行BeanPostProcessor的postProcessAfterInitialization方法,在这个方法中可以用if刷选bean,并作处理后返回 接下来初始化bean执行init方法 然后执行BeanP...

weixin_45335305的博客 233

9.02-Spring IOC 容器中Bean的生命周期

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33928467的博客 101
上一篇: Java11_JDK11新特性
下一篇: Mybatis详细入门介绍
HelloWorld_AA
博客等级 码龄9年 18粉丝 96原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值