有人说是jdk版本的问题,我现在idea是jdk19,但是xml配置文件写的1.8?查了资料说jdk9以上javax都变为了jakara,我在配置文件重新加载了还是没有实现自动注入,还提示userDao is null
7条回答 默认 最新
- Kwan的解忧杂货铺@新空间代码工作室 2024-04-06 01:37关注
上午好☀️☀️☀️️
本答案参考ChatGPT-3.5关于Spring框架自动注解@Resource报错的问题,可能是以下原因导致的:
-
JDK版本不兼容:如果你的JDK版本过高,可能导致javax的包名被改为jakara,从而导致自动注入失败。建议确认一下你的JDK版本是否兼容当前的Spring框架版本。
-
代码存在错误:可能是因为代码中存在错误导致自动注入失败。请检查一下代码是否存在语法错误或逻辑错误。
下面是一些可能的解决方案:
-
确认JDK版本:确认一下你的JDK版本是否兼容当前的Spring框架版本。如果不兼容,建议升级或降级JDK版本。
-
重新加载配置文件:在你修改了配置文件之后,需要重新加载配置文件。可以使用ApplicationContext的refresh()方法来实现重新加载。
-
检查代码:请检查一下代码是否存在语法错误或逻辑错误。如果有,需要及时修复。
-
修改配置文件:如果以上方法都没有解决问题,可以尝试修改配置文件。可以尝试将@Bean注解替换为@Component、@Repository或@Service注解,以解决自动注入的问题。
修改后的代码可能如下所示:
@Repository public class UserDaoImpl implements UserDao { @PersistenceContext private EntityManager entityManager; public User getUserById(long id) { return entityManager.find(User.class, id); } }
希望以上方法能够帮到你。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录 -
悬赏问题
- ¥15 openFOAM DPMFoam
- ¥15 将查询到的值,赋值到table指定行中
- ¥50 docker容器内部启动shell脚本多命令
- ¥15 请问python的selenium怎么设置referer
- ¥15 请教下, VS QT 环境下, QTOPCUA 的源文件报错,这种情况咋查呢 ?
- ¥20 UNITY webgl关于文档的上传和下载问题
- ¥15 安霸cv22 + rtl8211f 千兆,udp传输丢包
- ¥15 关于区块链和边缘环境搭建的相关问题
- ¥15 windows远程桌面断卡重连软件卡顿问题
- ¥30 Unity 实现扫描效果