登录
首页 >  文章 >  java教程

Spring Boot 项目中 ServiceImpl 重复读取 Bean 对象的原因是什么?

时间:2024-11-12 10:01:15 278浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《Spring Boot 项目中 ServiceImpl 重复读取 Bean 对象的原因是什么?》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

Spring Boot 项目中 ServiceImpl 重复读取 Bean 对象的原因是什么?

spring-boot项目serviceimpl中重复读取bean对象

在springboot项目中,当注入service层时,发现多次读取bean对象,并报错。这是怎么回事呢?

查看代码,发现使用了@resource注解注入mapper和service,代码如下:

@service
public class userserviceimpl implements userservice {

    @resource
    private usermapper usermapper;

    @resource
    private roleservice roleservice;
}

@resource注解是一种依赖注入方式,它默认通过名称进行注入。当同类型的bean有多个时,会报重复注入的错误。

为了解决这个问题,需要指定bean的名称,或者使用@autowired注解注入,例如:

@service
public class userserviceimpl implements userservice {

    @autowired
    private usermapper usermapper;

    @autowired
    private roleservice roleservice;
}

@autowired注解默认按类型注入,当bean类型唯一时,无需指定bean名称。

对于多重依赖注入的情况,可以使用@qualifier("beanname")注解指定bean名称,例如:

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    @Qualifier("userMapper1")
    private UserMapper userMapper;

    @Autowired
    @Qualifier("roleService2")
    private RoleService roleService;
}

通过以上方法,可以解决spring-boot项目中serviceimpl中重复读取bean对象的问题。

今天关于《Spring Boot 项目中 ServiceImpl 重复读取 Bean 对象的原因是什么?》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>