美文网首页
spring_bean的生命周期

spring_bean的生命周期

作者: 指下光年 | 来源:发表于2021-10-30 00:44 被阅读0次

在spring中,Bean的生命周期包括Bean的定义、初始化、使用、销毁4个阶段

1. Bean的定义

在spring中,通常是通过配置文件的方式来定义Bean的
在配置文件中,可以定义多个Bean.

2. Bean的初始化

默认在IOC容器加载时,实例化对象。
Spring Bean初始化有两种方式:
方式一:在配置文件汇总通过指定init-method属性来完成。
public class RoleService { // 定义初始化时需要被调用的方法 public void init() { System.out.println("RoleService init..."); } }
<bean id="roleService" class="com.xxxx.service.RoleService" init-method="init"> </bean>
方式二:实现 org.springframework.beans.factory.InitializingBean 接口。
public class RoleService implements InitializingBean { @Override public void afterPropertiesSet() throws Exception { System.out.println("RoleService init..."); } }
<bean id="roleService" class="com.xxxx.service.RoleService" ></bean>
Bean对象实例化过程是在Spring容器实例化时被实例化的,但也不是不可改变的,可以通过lazy-init="true"属性延迟bean对象的初始化操作,此时在调用getBean方法时才会进行bean的初始化操作

3. Bean的使用

方式一:使用 BeanFactory

// 得到Spring的上下文环境
BeanFactory factory = new ClassPathXmlApplicationContext("spring.xml"); 
RoleService roleService = (RoleService) factory.getBean("roleService");

方式二:使用 ApplicationContext

 // 得到Spring的上下文环境 
 ApplicationContext ac = new ClassPathXmlApplicationContext("spring.xml"); 
 RoleService roleService = (RoleService) ac.getBean("roleService");

4. Bean的销毁

实现销毁方式(Spring容器会维护bean对象的管理,可以指定bean对象的销毁所要执行的方法)。
步骤一:实现销毁方式(Spring容器会维护bean对象的管理,可以指定bean对象的销毁所要执行的方
法)

<bean id="roleService" class="com.xxxx.service.RoleService" destroy- method="destroy"></bean>

步骤二:通过 AbstractApplicationContext 对象,调用其close方法实现bean的销毁过程

AbstractApplicationContext ctx=new ClassPathXmlApplicationContext("spring.xml"); ctx.close();

IOC/DI-控制反转和依赖注入:将对象实例化的创建过程转交给外部容器(IOC容器 充当工厂角色)去负责;属性赋值的操作;

相关文章

  • spring_bean的生命周期

    在spring中,Bean的生命周期包括Bean的定义、初始化、使用、销毁4个阶段 1. Bean的定义 在spr...

  • Vue生命周期

    什么是生命周期方法?生命周期钩子=生命周期函数=生命周期事件 Vue生命周期方法分类  创建期间的生命周期方法: ...

  • 10,vue生命周期

    生命周期钩子=生命周期函数=生命周期事件 根据生命周期的不同分为三类: 创建阶段的生命周期 运行阶段的生命周期 销...

  • 微信小程序生命周期的记录

    小程序中生命周期分为3类: 应⽤的生命周期 页面的生命周期 组件的生命周期 一、生命周期 1. 应⽤的生命周期[h...

  • Lifecycle 生命周期源码解析

    目录: 什么生命周期 什么是生命周期感知型组件 Activity是如何把生命周期传给生命周期感知组件的 生命周期 ...

  • uni-app微信小程序开发 - 生命周期

    uni-app的生命周期分为应用生命周期和页面生命周期还有组件生命周期。 应用生命周期[https://uniap...

  • Activity,Fragment,Service生命周期图

    Activity生命周期 Fragment生命周期 Service生命周期

  • iOS 生命周期问题

    引言: 生命周期包括:a.程序的生命周期b.控制器的生命周期c.试图的生命周期 程序生命周期 a. 首次启动, 会...

  • Flutter 的生命周期

    Flutter 的生命周期Flutter 的生命周期分为两个部分: Widget 的生命周期App 的生命周期Fl...

  • 详细的分析 Vue生命周期

    Vue 的生命周期 生命周期执行的函数叫法有三种: 生命周期钩子 生命周期函数 钩子函数 生命周期钩子概念: 在v...

网友评论

      本文标题:spring_bean的生命周期

      本文链接:https://www.haomeiwen.com/subject/lhawaltx.html