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 Reference源码解析

    Java Reference源码解析

    这篇文章主要为大家详细解析了Java Reference源码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Java实现简单台球游戏

    Java实现简单台球游戏

    这篇文章主要为大家详细介绍了Java实现简单台球游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • springboot整合swagger3和knife4j的详细过程

    springboot整合swagger3和knife4j的详细过程

    knife4j的前身是swagger-bootstrap-ui,取名knife4j是希望她能像一把匕首一样小巧,轻量,并且功能强悍,下面这篇文章主要介绍了springboot整合swagger3和knife4j的详细过程,需要的朋友可以参考下
    2022-11-11
  • SpringCache缓存处理详解

    SpringCache缓存处理详解

    这篇文章主要介绍了SpringCache缓存处理详解,SpringCache是一个框架,实现了基于注解缓存功能,只需要简单地加一个注解,就能实现缓存功能,需要的朋友可以参考下
    2023-09-09
  • Mybatis输入输出映射问题解读(共三种类型)

    Mybatis输入输出映射问题解读(共三种类型)

    MyBatis使用OGNL表达式解析对象字段值,使用#{}或${},#{}为占位符,${}用于SQL拼接,输出resultMap时,若列名与POJO属性名名不一致,需配置resultMap,使用<collection>标签进行嵌套查询,需指定collection的属性名,参数传递格式:column=参数名=表字段
    2026-04-04
  • 基于SpringBoot实现图片滑动验证码功能

    基于SpringBoot实现图片滑动验证码功能

    本文详细讲解如何在Spring Boot项目中实现图片滑动验证码功能,从原理阐述到完整代码实现,帮助开发者快速掌握这一实用的安全验证技术,需要的朋友可以参考下
    2026-02-02
  • JVM(Java Virtual Machine,Java虚拟机)的作用详解

    JVM(Java Virtual Machine,Java虚拟机)的作用详解

    JVM是Java语言实现“一次编写,到处运行”特性的基石,也是Java平台的核心组成部分,其主要作用包括平台无关性、内存管理、运行Java程序、安全性以及性能优化,通过这些功能,JVM确保了Java程序的可移植性、高效性和安全性
    2025-03-03
  • SpringBoot获取配置文件中的配置项的常用方式

    SpringBoot获取配置文件中的配置项的常用方式

    这篇文章主要介绍了SpringBoot获取配置文件中的配置项的常用方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-11-11
  • 解决Spring Cloud Gateway获取body内容,不影响GET请求的操作

    解决Spring Cloud Gateway获取body内容,不影响GET请求的操作

    这篇文章主要介绍了解决Spring Cloud Gateway获取body内容,不影响GET请求的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Gateway实现限流的一些常见方式

    Gateway实现限流的一些常见方式

    文章介绍了如何在SpringCloudGateway中实现限流,包括基于请求次数、令牌桶算法、IP地址和时间窗口等多种限流策略,通过配置RequestRateLimiter过滤器和KeyResolver,可以灵活地控制不同来源的请求频率,确保系统稳定性和可用性,感兴趣的朋友一起看看吧
    2025-02-02

最新评论