Spring Boot 项目中 ServiceImpl 重复读取 Bean 对象如何解决?

ID:17179 / 打印

spring boot 项目中 serviceimpl 重复读取 bean 对象如何解决?

spring boot 项目中 serviceimpl 重复读取 bean 对象的解决方法

在 spring boot 项目中,通常会使用 @service, @mapper 和 @controller 注解来注入 bean 对象。但是,有时可能会遇到 serviceimpl 重复读取 bean 对象的错误,类似下图所示:

[图片]

出现这种情况的原因是使用了 @resource 注解。@resource 注解的默认查找策略是按照类型查找,因此它会搜索名为 userservice 的 bean 对象,并将其注入到 userserviceimpl 中。

然而,由于 @service 注解已创建了一个名为 userservice 的 bean 对象,@resource 注解会再次查找此 bean 对象,并将其注入到 userserviceimpl 中。这就是重复读取 bean 对象的原因。

为了解决此问题,可以在使用 @resource 注解时指定查找名称。例如,可以在 userserviceimpl 中使用以下代码:

@Resource(name = "userServiceImpl") private UserService userService;

这样,@resource 注解就会按照指定的名称查找 userservice bean 对象,避免重复读取。

关于 @resource 注解的更多使用方法,可以参考以下文章:

https://blog.csdn.net/weixin_38237873/article/details/83650429

上一篇: Java 中 PrintWriter 的 write 和 print 方法有什么区别?
下一篇: 多个账户登录时,如何避免 Cookie Key 冲突导致 Token 存储问题?

作者:admin @ 24资源网   2024-11-27

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。