zoukankan      html  css  js  c++  java
  • @Bean 指定初始化和销毁方法

    bean 的生命周期

      bean 的创建 --> 初始化 --> 销毁

    ioc 容器管理 bean 的声明周期

      可以自定义初始化和销毁方法

    构造器( 对象创建 )被调用时机

      单实例:在容器启动的时候创建对象

      多实例:在每次获取的时候创建对象

    初始化方法被调用时机

      单实例:对象创建完成,属性赋值好了之后,调用初始化方法

       多实例:在每次获取的时候,调用初始化方法

    销毁方法被调用时机

      单实例:容器关闭的时候

      多实例:容器不会管理这个 bean ; 也就是说容器不会调用这个销毁方法

    一、Student 类

    public class Student {
    
        public Student(){
            System.out.println("创建 Student 对象");
        }
        
        public void init(){
            System.out.println("初始化对象");
        }
        
        public void destory(){
            System.out.println("销毁对象");
        }
    }

    二、配置类

    @Configuration
    public class ConfigOfLifeCycle { 
        //initMethod:指定初始化的方法
        //destroyMethod:指定销毁的方法
        @Bean(initMethod="init",destroyMethod="destory")
        public Student student(){
            return new Student();
        }
    }

    三、测试方法 

    @Test
    public void test3(){
        //创建 ioc 容器
        AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(ConfigOfLifeCycle.class);
        
        //关闭容器:用来测试 destory() 方法
        applicationContext.close();
    }
  • 相关阅读:
    5. 添加后台管理页面
    4. 整合MyBatis
    3. 添加多个控制器
    2. 引入springmvc
    1. 开篇-springboot环境搭建
    去除angularjs路由的显眼的#号
    EasyUI DataGrid 分页实现示例
    等待对话框实现
    使用Struts2搭建登录注册示例
    观察者模式
  • 原文地址:https://www.cnblogs.com/fangwu/p/8678026.html
Copyright © 2011-2022 走看看