问题: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失效相关推荐

  1. 【Spring注解系列08】@PostConstruct与@PreDestroy

    1.@PostConstruct与@PreDestroy @PostConstruct:在bean创建完成并且属性赋值完成:来执行初始化方法 @PreDestroy:在容器销毁bean之前通知我们进行 ...

  2. Spring @PostConstruct和@PreDestroy实例

    在Spring中,既可以实现InitializingBean和DisposableBean接口或在bean配置文件中指定 init-method 和 destroy-method 在初始化和销毁回调函 ...

  3. 注解@PostConstruct与@PreDestroy

    从Java EE 5规范开始,Servlet中增加了两个影响Servlet生命周期的注解(Annotion):@PostConstruct和@PreDestroy.这两个注解被用来修饰一个非静态的vo ...

  4. 注解 @PostConstruct 与 @PreDestroy 详解及实例

    简介 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. Java EE5 引入了@PostConstruct和@PreDestroy这两个作用于Ser ...

  5. spring注解( @Autowired、@Qualifier、@Resource、@PostConstruct、@PreDestroy、 @Component、@Scope)-描述的比较清楚

    概述: 注释配置相对于 XML 配置具有很多的优势: 它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作.如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 P ...

  6. @PostConstruct、@PreDestroy注解介绍及Spring中@PostConstruct、constructor、@Autowired的顺序

    @PostConstruct和@PreDestroy @PostConstruct和@PreDestroy注解是Common Annotations中的注解,Common Annotations原本是 ...

  7. Spring学习总结(25)——注解@PostConstruct和@PreDestroy使用总结

    @PostConstruct 和 @PreDestroy 这两个都是方法的注解,将注解标注在方法上,该方法就能够在应用启动和销毁时执行, @PostConstruct 注解标注的函数,是在类执行完构造 ...

  8. Spring生命周期注解之@PostConstruct,@PreDestroy

    目录 1. 注解说明 2. 调用过程 3. 调用分析 1. 注解说明 @PostConstruct,@PreDestroy是Java规范JSR-250引入的注解,定义了对象的创建和销毁工作,同一期规范 ...

  9. 【JPA】注解@PostConstruct、@PreDestroy

    从Java EE5规范开始,Servlet增加了两个影响Servlet生命周期的注解@PostConstruct和@PreConstruct. 这两个注解被用来修饰一个非静态的void()方法,而且这 ...

最新文章

  1. 技术图文:匿名方法是怎样演变为Lambda表达试的?
  2. 数据库路由中间件MyCat - 源代码篇(7)
  3. eclipse 中修改 M2_REPO的值--转载
  4. C语言不好应该转专业吗,转专业后对于C语言补修的一些体会(1)
  5. 设置iis网页服务器cpu占比,为什么iis的一个线程池占了100%cpu
  6. jacoco统计server端功能测试覆盖率
  7. php 日期加减处理函数,php日期加减处理函数示例
  8. mysql分组随机取数据_MySql分组后随机获取每组一条数据的操作
  9. 游戏可以html+上运行吗,运行多个,如果在HTML游戏
  10. 10月5日起 部分小米红米机型将停止开发版内测公测
  11. 《重大技术需求征集系统》项目目标文档
  12. javascript实现奥运倒计时代码
  13. 回溯法之迷宫问题(华为笔试题)
  14. ECCI 电子通道衬度成像 简介
  15. PLSQL官网下载地址
  16. [Python] 微信for PC自动群发消息、图片以及文件
  17. 干货 | 红队小技巧
  18. face++ 行驶证OCR识别
  19. RDL 报表 - 查询条件使用下拉框
  20. java qq 传送文件_java 传送文件

热门文章

  1. (JavaSE 学习记录)Java运算符
  2. MySql 8.0.19安装
  3. json在java代码混淆出问题_代码混淆 GSON完满解决
  4. Opencv4.0学习记录(Day21 视频文件摄像头使用)
  5. KVM虚拟机网络配置方式 (Bridge方式 Nat方式)(转载)
  6. 轻社区的“赚钱术”:免费社区赚钱,去年利润1个亿
  7. Superset开启邮件通知问题记录
  8. Excel中sheet名字最大长度的坑
  9. Android 模拟串口通信过程
  10. 七上八下猜数字_车上互动游戏