PostConstruct和PreDestroy失效
问题:PostConstruct 和 PreDestroy 失效
说明
今天遇到问题,在使用 Spring的两个注解的过程当中,出现了失效的情况。
也就是 @PostConstruct 和 @PreDestroy 出现了失效的问题。
那么这两个注解主要是用来干嘛的呢?
@PostConstruct 主要是定义在方法上面,是bean生命周期的 初始化方法 (出生)
@PreDestroy 主要是定义在方法上面,是bean生命周期 销毁的方法 (死亡)
但是在编写代码的过程当中,这里的两个注解却失效了。
下面是代码片段展示
原因
后来我们发现,出现这个问题,最主要的原因竟然是因为 JDK版本的原因导致的,当前我的 JDK使用的是 JDK11的版本,但是这两个注解支持的JDK8,在高版本当中,这里的两个注解失效了。
后期查阅资源,得到的结论是 这些内容,可能会涉及到 Spring 底层源码的介绍,才能充分解释这类问题。
那么眼下的解决方案,主要有两种。
【1】方案一: 更换低版本的 JDK8 的环境,达到 注解匹配的效果
【2】方案二: 不去更换JDK的版本,依旧使用 JDK11,反而采用 配置依赖的方式
解决
这里我采用的是 配置依赖的方式,在 pom.xml 文件当中,配置依赖,支持高版本的 JDK注解
代码如下:
<!-- 高版本的JDK 不支持@PostConstruct 和 @PreDestroy,需要添加依赖 -->
<dependency><groupId>javax.annotation</groupId><artifactId>javax.annotation-api</artifactId><version>1.3.2</version>
</dependency>
配图如下
参考
本篇文章,主要参考了其他博主的资料,配合自己经验小结,参考文章如下:
https://blog.csdn.net/qq_39965727/article/details/104045169
https://blog.csdn.net/YKenan/article/details/109748272
PostConstruct和PreDestroy失效相关推荐
- 【Spring注解系列08】@PostConstruct与@PreDestroy
1.@PostConstruct与@PreDestroy @PostConstruct:在bean创建完成并且属性赋值完成:来执行初始化方法 @PreDestroy:在容器销毁bean之前通知我们进行 ...
- Spring @PostConstruct和@PreDestroy实例
在Spring中,既可以实现InitializingBean和DisposableBean接口或在bean配置文件中指定 init-method 和 destroy-method 在初始化和销毁回调函 ...
- 注解@PostConstruct与@PreDestroy
从Java EE 5规范开始,Servlet中增加了两个影响Servlet生命周期的注解(Annotion):@PostConstruct和@PreDestroy.这两个注解被用来修饰一个非静态的vo ...
- 注解 @PostConstruct 与 @PreDestroy 详解及实例
简介 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. Java EE5 引入了@PostConstruct和@PreDestroy这两个作用于Ser ...
- 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引入的注解,定义了对象的创建和销毁工作,同一期规范 ...
- 【JPA】注解@PostConstruct、@PreDestroy
从Java EE5规范开始,Servlet增加了两个影响Servlet生命周期的注解@PostConstruct和@PreConstruct. 这两个注解被用来修饰一个非静态的void()方法,而且这 ...
最新文章
- 技术图文:匿名方法是怎样演变为Lambda表达试的?
- 数据库路由中间件MyCat - 源代码篇(7)
- eclipse 中修改 M2_REPO的值--转载
- C语言不好应该转专业吗,转专业后对于C语言补修的一些体会(1)
- 设置iis网页服务器cpu占比,为什么iis的一个线程池占了100%cpu
- jacoco统计server端功能测试覆盖率
- php 日期加减处理函数,php日期加减处理函数示例
- mysql分组随机取数据_MySql分组后随机获取每组一条数据的操作
- 游戏可以html+上运行吗,运行多个,如果在HTML游戏
- 10月5日起 部分小米红米机型将停止开发版内测公测
- 《重大技术需求征集系统》项目目标文档
- javascript实现奥运倒计时代码
- 回溯法之迷宫问题(华为笔试题)
- ECCI 电子通道衬度成像 简介
- PLSQL官网下载地址
- [Python] 微信for PC自动群发消息、图片以及文件
- 干货 | 红队小技巧
- face++ 行驶证OCR识别
- RDL 报表 - 查询条件使用下拉框
- java qq 传送文件_java 传送文件