JDK 版本导致 @Resource注入失败

今天朋友请我调试一个关于@Resource失败的问题。他使用 @Autowired @Qualifier 注入没有任何问题,但是换成了 @Resource 注入的对象一直为 null,一直报空指针异常。使用 @Autowired @Qualifier 能注入成功,代表Bean肯定是装在进Spring了,但是使用 @Resource 却没有成功。我按部就班的一步一步的排查问题,查看配置文件,查看注解,发现确实没有任何问题。在最后,查看了一下朋友使用的 JDK 版本,使用的是 JDK9。我就怀疑是不是 JDK 版本的问题,我将版本换成 JDK8,果断成功。后来网上查询资料,@Resource 注解存在版本兼容性问题,我一直使用的是 JDK8,所以没有出现过问题。今天朋友使用 JDK9 出现了问题,网上网友也有说使用 JDK10 的时候也出现了问题,这一点我没有尝试。所以当使用 @Resource 如果出现注入失败的情况下,一方面要排查配置问题,另一方面也要排查是否是JDK版本问题

你可能感兴趣的:(JDK)