zoukankan      html  css  js  c++  java
  • 学习 Spring (四) Bean 的生命周期

    Spring入门篇 学习笔记

    定义 --> 初始化 --> 使用 --> 销毁

    初始化

    1. 实现 org.springframework.beans.factory.InitializingBean 接口,覆盖 afterPropertiesSet 方法

      public class ExampleBean implements InitializingBean{
      	public void afterPropertiesSet() throws Exception{
      	// do some initialization work
      	}
      	
      }
      
    2. 配置 init-method:

      <bean id="exampleInitBean" class="example.ExampleBean" init-method="start"/>
      
      public class ExampleBean{
      	public void start(){
      	// do some initialization work
      	}
      	
      }
      

    销毁

    1. 实现 org.springframework.beans.factory.DisposableBean 接口,覆盖 destory 方法

      public class ExampleBean implements DisposableBean{
      	public void destory() throws Exception{
      	// do some destruction work
      	}
      	
      }
      
    2. 配置 destory-method

      <bean id="exampleInitBean" class="example.ExampleBean" destory-method="stop"/>
      
      public class ExampleBean{
      	public void stop(){
      	// do some destruction work
      	}
      	
      }
      

    配置全局默认初始化、销毁方法

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans.xsd" 
    		default-init-method="init" default-destory-method="destory">
    	
     </beans>
    

    多种方式同时使用执行顺序

    1. afterPropertiesSet()
    2. init-method / default-init-method
    3. destory()
    4. destory-method / default-destory-method
    • 如果同时配置了 init-method 和 default-init-method 或 destory-method 和 default-destory-method,default-init-method 或 default-destory-method 不执行
    • default-init-method 和 default-destory-method 可以不在 Bean 中声明

    源码:learning-spring

  • 相关阅读:
    python3.6下安装wingIDE破解方法
    Python 列表list 和 字符串str 互转
    c# 读取txt文件并分隔
    基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系
    Jquery ajax动态更新下拉列表的内容
    vs2015使用技巧-------- 查看类关系图
    Dapper 批量操作sql
    Linq批量建表
    WebRequest的get及post提交
    git -- 常用命令
  • 原文地址:https://www.cnblogs.com/victorbu/p/10419153.html
Copyright © 2011-2022 走看看