目录
一、概念
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.运行结果
如果此文章对你有帮助,请给点赞收藏评论吧!
有什么问题欢迎评论区留言