美文网首页
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的生命周期

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