Spring 中的 Service 有多个实现类如何注入(多种方式)

 更新时间:2023年07月17日 11:29:38   作者:提里奥丶弗丁  
这篇文章主要介绍了Spring 中的 Service 有多个实现类如何注入,本文通过多种方式结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

        我这里指示三种方式:

        一、Controller中注入service的时候使用@Autowired自动注入,@Qualifier("实现类名首字母小写")来注入。

    // 接口
    public interface XxxxService {
        public String xxxx();
    }    
    // 实现类用 
    @Service
    public class XxxxServiceImpl implements XxxxService {
        @Override
        public String xxxx() {
            // 具体处理逻辑
            return "xxxx";
        }
    }
    @Service
    public class YyyyServiceImpl implements XxxxService {
        @Override
        public String yyyy() {
            // 具体处理逻辑
            return "yyyy";
        }
    }
    // Controller 中注入service 根据beanId(类名首字母小写) -> xxxxServiceImpl
    @Autowired
    @Qualifier("xxxxServiceImpl")
    private XxxxService xxxxService;

        二、Controller中注入service的时候使用@Resource(type = 类名.class)来注入。

    // 接口
    public interface XxxxService {
        public String xxxx();
    }    
    // 实现类用 
    @Service
    public class XxxxServiceImpl implements XxxxService {
        @Override
        public String xxxx() {
            // 具体处理逻辑
            return "xxxx";
        }
    }
    @Service
    public class YyyyServiceImpl implements XxxxService {
        @Override
        public String yyyy() {
            // 具体处理逻辑
            return "yyyy";
        }
    }
    // Controller 中注入service
    @Resource(type = XxxxServiceImpl.class)
    private XxxxService xxxxService;

        三、每个service的impl使用 @Service(“名称”)指定名称,Controller中注入service的时候使用@Resource(name="名称")注入。

    // 接口
    public interface XxxxService {
        public String xxxx();
    }    
    // 实现类用 
    @Service("xxxxService")
    public class XxxxServiceImpl implements XxxxService {
        @Override
        public String xxxx() {
            // 具体处理逻辑
            return "xxxx";
        }
    }
    @Service("yyyyService")
    public class YyyyServiceImpl implements XxxxService {
        @Override
        public String yyyy() {
            // 具体处理逻辑
            return "yyyy";
        }
    }
    // Controller 中注入service 根据beanId(@Service括号中的字符串) -> xxxxService
    @Resource(name="xxxxService")
    private XxxxService xxxxService;

到此这篇关于Spring 中的 Service 有多个实现类如何注入的文章就介绍到这了,更多相关Spring Service多个实现类内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • @JsonDeserialize和@JsonSerialize注解的使用方式

    @JsonDeserialize和@JsonSerialize注解的使用方式

    这篇文章主要介绍了@JsonDeserialize和@JsonSerialize注解的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • 使用logback屏蔽一些包的日志

    使用logback屏蔽一些包的日志

    这篇文章主要介绍了使用logback屏蔽一些包的日志,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Mybatis-Plus打印sql日志两种方式

    Mybatis-Plus打印sql日志两种方式

    这篇文章主要给大家介绍了关于Mybatis-Plus打印sql日志两种方式,Mybatis-plus是MyBatis增强工具包,用于简化CRUD操作,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • 关于kafka-consumer-offset位移问题

    关于kafka-consumer-offset位移问题

    这篇文章主要介绍了关于kafka-consumer-offset位移问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Java泛型机制与反射原理相关知识总结

    Java泛型机制与反射原理相关知识总结

    今天带大家学习的是关于Java进阶的相关知识,文章围绕着Java泛型机制与反射原理展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • MyBatis Plus之实现动态排序方式

    MyBatis Plus之实现动态排序方式

    这篇文章主要介绍了MyBatis Plus之实现动态排序方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Java后台如何处理日期参数格式

    Java后台如何处理日期参数格式

    这篇文章主要介绍了Java后台如何处理日期参数格式问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 浅析Java如何优雅的避免那无处不在的空指针异常

    浅析Java如何优雅的避免那无处不在的空指针异常

    在Java编程语言中,NullPointerException(简称NPE)是一种常见的运行时异常,本文主要来和大家讲讲如何优雅的避免这些空指针异常,需要的可以参考下
    2024-03-03
  • MyBatis查询数据,赋值给List集合时,数据缺少的问题及解决

    MyBatis查询数据,赋值给List集合时,数据缺少的问题及解决

    这篇文章主要介绍了MyBatis查询数据,赋值给List集合时,数据缺少的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • 使用springboot整合mybatis-plus实现数据库的增删查改示例

    使用springboot整合mybatis-plus实现数据库的增删查改示例

    这篇文章主要介绍了使用springboot整合mybatis-plus实现数据库的增删查改示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04

最新评论