深入理解Spring----PostConstruct和PreDestroy
一、PostConstruct
之前先来看一下Servlet的生命周期
Spring中有 Autowired Constructor PostConstrucotor
Spring 会先通过初始化Bean对象,遍历类中的Field属性来看看有没有给被@Autowired修饰的,如果有就注入赋值,然后在执行被@PostCOnnstructor 修饰的方法
Constructor >> @Autowired >> @PostConstructor
简而言之就是先 初始化Bean对象,然后依赖注入,最后再调用被@PostConstructor修饰的方法。
作用: 有时候一些操作需要在依赖注入之后才能才做,这时候就需要用到PostConstructor注解了
二、PreDestory
PreDetory 就是在销毁Bean容器之间执行的注解,比如有时候需要关闭一些连接的资源
原理类似于注册了一个钩子函数
RunTime.getRunTime().addShutdownHook(new Thread(new Runnable() {@Overridepublic void run() {logger.info("shutdown hook run");try {} catch(Exception e) {}}}));
深入理解Spring----PostConstruct和PreDestroy相关推荐
- Spring @PostConstruct和@PreDestroy实例
在Spring中,既可以实现InitializingBean和DisposableBean接口或在bean配置文件中指定 init-method 和 destroy-method 在初始化和销毁回调函 ...
- spring注解( @Autowired、@Qualifier、@Resource、@PostConstruct、@PreDestroy、 @Component、@Scope)-描述的比较清楚
概述: 注释配置相对于 XML 配置具有很多的优势: 它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作.如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 P ...
- @PostConstruct、@PreDestroy注解介绍及Spring中@PostConstruct、constructor、@Autowired的顺序
@PostConstruct和@PreDestroy @PostConstruct和@PreDestroy注解是Common Annotations中的注解,Common Annotations原本是 ...
- Spring学习总结(25)——注解@PostConstruct和@PreDestroy使用总结
@PostConstruct 和 @PreDestroy 这两个都是方法的注解,将注解标注在方法上,该方法就能够在应用启动和销毁时执行, @PostConstruct 注解标注的函数,是在类执行完构造 ...
- Spring生命周期注解之@PostConstruct,@PreDestroy
目录 1. 注解说明 2. 调用过程 3. 调用分析 1. 注解说明 @PostConstruct,@PreDestroy是Java规范JSR-250引入的注解,定义了对象的创建和销毁工作,同一期规范 ...
- 【Spring注解系列08】@PostConstruct与@PreDestroy
1.@PostConstruct与@PreDestroy @PostConstruct:在bean创建完成并且属性赋值完成:来执行初始化方法 @PreDestroy:在容器销毁bean之前通知我们进行 ...
- spring框架_一篇文章带你理解Spring框架
虽然现在流行用SpringBoot了,很多配置已经简化和封装了,但是对于Spring的一些基础我们了解一些是对我们自己的架构思想很有帮助的!接下来和笔者一起来探讨一下Spring框架吧! 1.什么是S ...
- 注解 @PostConstruct 与 @PreDestroy 详解及实例
简介 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. Java EE5 引入了@PostConstruct和@PreDestroy这两个作用于Ser ...
- 理解Spring Boot
理解Spring Boot 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs Spring Boot是一个偏执的开源框架, ...
- PostConstruct和PreDestroy失效
问题:PostConstruct 和 PreDestroy 失效 说明 今天遇到问题,在使用 Spring的两个注解的过程当中,出现了失效的情况. 也就是 @PostConstruct 和 @PreD ...
最新文章
- 剖析今日头条技术面试过程以及应该如何准备?
- 竞赛 | 我们标注了34G真实线下门店数据,等你pick!
- python编程语言好学吗-转行零基础该如何学习python?很庆幸,三年前的我选对了...
- 已解决:centos 7.x系统自带的3.10.x内核存在一些bugs,导致运行docker、k8s不稳定,需要升级内核解决此问题。
- Eclipse配置Android开发环境
- 分析递归函数的时间复杂度
- [Python人工智能] 三十四.Bert模型 (3)keras-bert库构建Bert模型实现微博情感分析
- node --- 监听路由,读取json文件,向MongoDB中写入数据
- 【Python小程序】第1讲:如何提取指定时间段的数据子集?
- 国内电影票务系统浅析
- Spring系列技术实战(项目搭建、知识点总结)
- java创建表情包_表情包生成器
- C 语言编码规范(MISRA-C-:2004)
- Jquery各种插件下载
- 一个数据分析师的职业规划:人生本来就应该提前做好准备
- SDK emulator directory is missing | Android Studio报错
- Resolve operation not in progress, we are not resuming.
- MySQL复习记录(二):MySQL基础知识与基本操作
- clickhouse建表语句行数太多导致报错 Unmatched parentheses: (
- NGUI动态字体的制作
热门文章
- 厦门大学 好导师 计算机,厦门大学信息科学与技术学院计算机科学系导师介绍:程明...
- Python与Matlab算法学习一文通(快速排序算法)(更新中)
- 密码主页jQuery插件的应用(注册时的验证)
- 在ubuntu19.04中安装flash插件
- “华为杯”第十七届中国研究生 数学建模竞赛-【华为杯】B题:降低汽油精制过程中的辛烷值损失模型(附优秀论文)
- 学计算机可以买ipad吗,考研党究竟有必要买ipad吗?买、买大个的
- [Shiro教程] Shiro 教程基于SSM(SpringMVC + Spring + Mybatis)
- 如何查看笔记本电脑的型号?
- 一种简单的小型企业报表实现方式
- Python通过标点符号断句