当前位置: 首页 > news >正文

Spring底层原理学习笔记--第七讲--(初始化与销毁)

初始化与销毁

  • Spring提供了多种初始化和销毁手段
  • 它们的执行顺序

A07Application.java

package com.lucifer.itheima.a07;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.Bean;@SpringBootApplication
public class A07Application {public static void main(String[] args) {ConfigurableApplicationContext context = SpringApplication.run(A07Application.class,args);context.close();}//输出结果为
//    2023-11-08 19:52:53.870  INFO 55612 --- [           main] com.lucifer.itheima.a07.Bean1            : 初始化1
//    2023-11-08 19:52:53.870  INFO 55612 --- [           main] com.lucifer.itheima.a07.Bean1            : 初始化2
//    2023-11-08 19:52:53.870  INFO 55612 --- [           main] com.lucifer.itheima.a07.Bean1            : 初始化3@Bean(initMethod = "init3")public Bean1 bean1(){return new Bean1();}//输出结果为
//    2023-11-08 19:56:02.452  INFO 53212 --- [           main] com.lucifer.itheima.a07.Bean2            : 销毁1
//    2023-11-08 19:56:02.452  INFO 53212 --- [           main] com.lucifer.itheima.a07.Bean2            : 销毁2
//    2023-11-08 19:56:02.452  INFO 53212 --- [           main] com.lucifer.itheima.a07.Bean2            : 销毁3@Bean(destroyMethod = "destroy3")public Bean2 bean2() {return new Bean2();}
}

Bean1.java

package com.lucifer.itheima.a07;import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.InitializingBean;import javax.annotation.PostConstruct;@Slf4j
public class Bean1 implements InitializingBean {@PostConstructpublic void init1(){log.info("初始化1");}@Overridepublic void afterPropertiesSet() throws Exception {log.info("初始化2");}public void init3(){log.info("初始化3");}
}

Bean2.java

package com.lucifer.itheima.a07;import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.DisposableBean;import javax.annotation.PreDestroy;@Slf4j
public class Bean2 implements DisposableBean {@PreDestroypublic void destroy1() {log.info("销毁1");}@Overridepublic void destroy() throws Exception {log.info("销毁2");}public void destroy3(){log.info("销毁3");}
}
http://www.lryc.cn/news/222626.html

相关文章:

  • 基于斑马算法的无人机航迹规划-附代码
  • 干货 | 接口自动化测试分层设计与实践总结
  • 【Linux】服务器与磁盘补充知识,硬raid操作指南
  • 【java】实现自定义注解校验——方法二
  • 算法通关村第六关|白银|二叉树的层次遍历【持续更新】
  • vue中通过js控制scss变量
  • 深度学习理论知识入门【EM算法、VAE算法、GAN算法】和【RBM算法、MCMC算法、HMC算法】
  • Java8实战-总结47
  • 功能: 在web应用程序中、读取文件
  • TDD、BDD、ATDD以及SBE的概念和区别
  • Android studio:打开应用程序闪退的问题
  • Mysql数据库性能优化--performance_SCHEMA.STATEMENTS语句分析
  • [C/C++]数据结构 链表OJ题: 反转链表
  • 深度学习之基于YoloV5交通信号标志识别系统
  • Linux命令大全
  • 元宇宙是否为噱头?若不是,什么是元宇宙?他的概念、技术、应用和影响是什么?
  • 293_C++_告警类
  • MySQL基础操作
  • ajax样式演示
  • Web前端—CSS高级(定位、高级技巧、CSS修饰属性、综合案例:购物网站轮播图)
  • linux的sftp复制传输文件
  • 【星海出品】flask(一)demo
  • 从vue源码中看diff算法
  • 【17】c++11新特性 —>弱引用智能指针weak_ptr(2)
  • 如何去除视频水印?三种简便有效的方法解决视频水印问题
  • 快速构建高质量中文APP登录注册页面Figma源文件
  • MySQL库的库操作指南
  • 【单目测距】单目相机测距(三)
  • Evaluating Large Language Models: A Comprehensive Survey
  • ElasticSearch 实现 全文检索 支持(PDF、TXT、Word、HTML等文件)通过 ingest-attachment 插件实现 文档的检索