0
点赞
收藏
分享

微信扫一扫

03 Spring生命周期



文章目录

  • 1 方式1标签属性配置
  • 1.1 在目标类中添加初始化、销毁方法[init(),destroy()]
  • 1.2 在spring配置文件中对应的bean中添加属性
  • 2 通过spring接口方式
  • 在目标类中实现接口,InitializingBean和DisposableBean两接口
  • 3 关闭容器的两种操作
  • 3.1 使用close()方法
  • 3.2 使用钩子函数:registerShutdownHook()
  • 结尾彩蛋


1 方式1标签属性配置

1.1 在目标类中添加初始化、销毁方法[init(),destroy()]

public class BookDao implements com.zinksl.dao.BookDao {
    public void say() {
        System.out.println("BookDao say hello!");
    }
//    添加初始化方法
    public void  init(){
        System.out.println("这里是初始化方法!");
    }
    public void destroy(){
        System.out.println("这里是销毁前方法");
    }
//    添加销毁方法
}

1.2 在spring配置文件中对应的bean中添加属性

在bean中添加init-method和destroy-method属性,并指定类中方法

2 通过spring接口方式

在目标类中实现接口,InitializingBean和DisposableBean两接口

public class BookService implements com.zinksl.service.BookService, InitializingBean, DisposableBean {
private BookDao bookDao ;

    public void setBookDao(BookDao bookDao) {
        this.bookDao = bookDao;
    }

    public void say() {
        bookDao.say();
        System.out.println("BookService say hello!");
    }

    public void destroy() throws Exception {
        System.out.println("这里是BookService销毁前方法");
    }

    public void afterPropertiesSet() throws Exception {
        System.out.println("这里是BookService初始化方法");
    }
}

3 关闭容器的两种操作

3.1 使用close()方法

close方法比较简单粗暴,调用就直接关闭容器

3.2 使用钩子函数:registerShutdownHook()

关闭钩子:registerShutdownHook,代表如果要关虚拟机需要先关容器

举报

相关推荐

0 条评论