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多个实现类内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java maven三种仓库,本地仓库,私服,中央仓库的配置

    Java maven三种仓库,本地仓库,私服,中央仓库的配置

    今天给大家简单介绍Maven三种仓库的配置,文中有非常详细的解释,对Java初学者很有帮助哟,需要的朋友可以参考下,希望能够给你带来帮助
    2021-09-09
  • java二路归并排序示例分享

    java二路归并排序示例分享

    这篇文章主要介绍了java二路归并排序示例,需要的朋友可以参考下
    2014-02-02
  • SpringBoot为啥不用配置启动类的实现

    SpringBoot为啥不用配置启动类的实现

    这篇文章主要介绍了SpringBoot为啥不用配置启动类的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Hadoop源码分析五hdfs架构原理剖析

    Hadoop源码分析五hdfs架构原理剖析

    本篇是Hadoop源码分析系列文章第五篇,主要介绍Hadoop的hdfs架构原理剖析,后续本系列文章会持续更新,有需要的朋友可以借鉴参考下
    2021-09-09
  • Java中用爬虫进行解析的实例方法

    Java中用爬虫进行解析的实例方法

    在本篇文章里小编给大家整理的是一篇关于Java中用爬虫进行解析的实例方法,有需要的朋友们可以学习参考下。
    2020-12-12
  • 详细总结Java组合模式

    详细总结Java组合模式

    今天带大家了解Java设计模式中的组合模式,下文中对组合模式介绍的非常详细,还有相关代码,对正在学习Java的小伙伴们很有帮助,需要的朋友可以参考下
    2021-05-05
  • Activiti工作流学习笔记之自动生成28张数据库表的底层原理解析

    Activiti工作流学习笔记之自动生成28张数据库表的底层原理解析

    这篇文章主要介绍了Activiti工作流学习笔记之自动生成28张数据库表的底层原理解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • SpringBoot监听Nacos动态修改日志级别的操作方法

    SpringBoot监听Nacos动态修改日志级别的操作方法

    线上系统的日志级别一般都是 INFO 级别,有时候需要查看 WARN 级别的日志,所以需要动态修改日志级别,微服务项目中使用 Nacos 作为注册中心,我们可以监听 Nacos 配置,修改日志级别,这篇文章主要介绍了SpringBoot监听Nacos动态修改日志级别的操作方法,需要的朋友可以参考下
    2023-12-12
  • Java Kafka实现优先级队列的示例详解

    Java Kafka实现优先级队列的示例详解

    在分布式系统中,消息队列是一种常见的异步通信机制,而优先级队列则是消息队列的一种特殊形式,下面我们来看看如何利用Kafka实现优先级队列吧
    2025-03-03
  • MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

    MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

    本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应用该特性,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03

最新评论