当前位置: 首页 > news >正文

spring中bean的生命周期(简单5步)

目录

一、概念

1.生命是bean的生命周期?

2.知道bean生命周期的意义?

3.bean的生命周期按照粗略的五步

二、例子讲解


一、概念

1.生命是bean的生命周期?

答:spring其实就是管理bean对象的工厂,它负责对象的创建,对象的销毁。生命周期就是从创建到最终的销毁的整个过程。

2.知道bean生命周期的意义?

答:生命周期的本质:在哪个时间节点上面调用了哪个类的哪个方法。只有知道了时间的节点,才能知道我们的代码写到了哪里。可能需要在某一个特殊的时间节点上执行一段特定的代码,这段代码就可以放到这个时间节点上,当生命线走到这里,自然就会被调用。

3.bean的生命周期按照粗略的五步

第一步:实例化bean(调用无参数构造方法)

第二步:给bean属性赋值(调用set方法)

第三步:初始化bean(调用bean的init方法。这个init方法要自己写,自己配)

第四步:使用bean

第五步:销毁bean(调用bean的destroy方法。这个destroy方法要自己写,自己配)

二、例子讲解

看不懂本项目的可以参考这篇文章:快速入门使用spring详细步骤(介绍、导入依赖、第一个简单程序)_云边的快乐猫的博客-CSDN博客 或者

spring的注入(set注入、构造器注入)_云边的快乐猫的博客-CSDN博客

1.建立一个类(HelloBean)。编写无参构造方法(第一步)、创建属性并生成set方法(第二步)、编写int初始化方法(第三步)、销毁方法 (第四步) 

package com.spring6.demo2;public class HelloBean {//1.创建一个无参构造。快捷键生成:alt+insert(目的:为了更直观看bean加载的过程)public HelloBean() {System.out.println("第一步,无参构造方法被执行");}//2.创建一个属性值,并生成set方法给其赋值private String name;public void setName(String name) {System.out.println("第二步:给对象的属性赋值");this.name = name;}//3.这个init初始化方法需要自己写,自己配,方法名随意.public void initBean(){System.out.println("第三步:初始化bean");}//4.这个destroy销毁方法需要自己写,自己配,方法名随意public void destroyBean(){System.out.println("第五步:销毁bean");}
}

2.在spring工厂的xml文件里面编写bean标签。编写扫描管理类的方式注入属性编写扫描使用初始化和销毁方法(用于对这个类的管理)

ps:xml文件的创建方法:点击resources-->快捷键:alt+insert-->XML配置文件(倒4)--spring配置-->文件名称可以自定义

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd"><!--6.1注解组件扫描:扫描指定的基本包以及其子包下的类,识别使用component的类--><bean id="HelloBean" class="com.spring6.demo2.HelloBean"init-method="initBean" destroy-method="destroyBean">        <!-- 6.2  指定初始化和销毁: init-method="initBean" destroy-method="destroyBean--><!--6.3给属性赋值  --><property name="name" value="李四"/></bean>
</beans>

3.编写一个测试类(TextBean),用来调用类(HelloBean)。里面编写从容器里面扫描指定的类的两行代码、调用类的代码、销毁bean的代码

4.运行结果 

如果此文章对你有帮助,请给点赞收藏评论吧! 

有什么问题欢迎评论区留言 

http://www.lryc.cn/news/2317.html

相关文章:

  • 10 个最难理解的 Python 概念
  • 【linux】线程概念
  • Leg转Goh引擎和架设单机+配置登陆器教程
  • idea整合svn
  • 字节青训前端笔记 | 数据可视化基础
  • ROS运行机C++程序,移动
  • C++中编译静态库与动态库
  • shell中sed命令用法
  • 【VictoriaMetrics】VictoriaMetrics启停脚本
  • 高性能网络SIG月度动态:SMC 与 IBM 就扩展协议达成一致,virtio 支持 XDP 新特性
  • 【正点原子FPGA连载】第七章程序固化实验摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南
  • LeetCode-2335. 装满杯子需要的最短总时长【贪心,数学】
  • 基于 oss 框架的音频驱动
  • 【golang】如何定制化zap日志库以及如何使用
  • 如何将 Ubuntu 升级到 22.04 LTS Jammy Jellyfish
  • ubuntu20.04安装docker与docker-compose
  • 笔试题-2023-加特兰-数字IC设计【纯净题目版】
  • 动态内存管理
  • Unsupervised Question Answering 简单综述
  • 智慧物流管理系统
  • 单表查询--实例
  • c语言递归 累和 ,累乘积,斐波那契数列,字符串长度
  • 数据与C(ASCII码,char)
  • 第一个C语言代码(visual studin创建调试以及项目文件功能讲解)
  • VIF原理
  • nginx相关反爬策略总结笔记
  • 【Vue3】电商网站吸顶功能
  • HOMER docker版本安装详细流程
  • 【数据结构】单向链表的练习题
  • 我的企业需要一个网站吗?答案是肯定的 10 个理由