产品定制化时,在不同的客户中会有不同的需求,这时候会产生,一个接口,多个实现

SpringBoot ,如果发现有多实现时,会报如下错误

Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans, or using @Qualifier to identify the bean that should be consumed

解决文案

在类上加 @Primary

具体代码如下

接口

IVipSoftService.java

public interface IVipSoftService {
/**
* 用来演示产品中的实现方法 - 基础实现
*/
void defaultImpl(); /**
* 用来演示产品中的定制方法 - 客户定制
*/
void overrideImpl();
}

Default 默认实现

@Service
public class DefaultServiceImpl implements IVipSoftService { @Override
public void defaultImpl() {
System.out.println("DefaultServiceImpl.defaultImpl()");
} @Override
public void overrideImpl() {
System.out.println("DefaultServiceImpl.overrideImpl()");
} }

定制化实现

在类上加 @Primary


@Primary
@Service
public class VipSoftServiceImpl extends DefaultServiceImpl { @Override
public void overrideImpl() {
//super.overrideImpl();
System.out.println("VipSoftServiceImpl.overrideImpl()");
}
}

SpringBoot java 一个接口,多个实现,客户定制化的更多相关文章

  1. java一个接口可以继承另外一个接口吗

    一个接口可以继承多个接口. interface C extends A, B {}是可以的. 一个类可以实现多个接口: class D implements A,B,C{} 但是一个类只能继承一个类, ...

  2. 【SpringBoot】SpringBoot 处理后端返回的小数(全局配置 + 定制化配置)

    一.抛出问题: 现在的项目中,存在这样的几个问题: 问题一.数据库存的数据类型是BigDecimal,或者代码中计算需要返回BigDecimal的值,由于BigDecimal返回给前端可能存在精度丢失 ...

  3. 定制化Azure站点Java运行环境(5)

    Java 8下PermGen及参数设置 在上一章节中,我们定制化使用了Java 8环境,使用我们的测试页面打印出了JVM基本参数,但如果我们自己观察,会发现在MXBeans中,没有出现PermGen的 ...

  4. Delphi 提示在Delphi的IDE中,按Ctrl+Shift+G键可以为一个接口生成一个新的GUID。

    对于Object Pascal语言来说,最近一段时间最有意义的改进就是从Delphi3开始支持接口(interface),接口定义了能够与一个对象进行交互操作的一组过程和函数.对一个接口进行定义包含两 ...

  5. strapi系列--如何自定义非界面化的接口,定制化自己的业务逻辑

    为什么要进行后端定制呢? 在实际开发过程中,项目中有些需求是不需要创建界面化接口的,需要我们定制化自己的业务逻辑,那么我们该如何处理这个需求呢?本文以图文并茂的形式,定制一个我们自己的业务逻辑接口. ...

  6. java springboot调用第三方接口 借助hutoool工具类 爬坑

    楼主是个后端小白一枚,之前没接触过后端,只学了java基本语法,还是在学校老师教的,学的很浅,什么ssh.ssm框架都没有学,最近在自学spring boot,看书学也看不是很懂,就在b站上看教学视频 ...

  7. 35.按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n); (2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方 法时,要求计算1到n的和; (3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口 方法时,要求计算n的阶乘(n

      35.按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n): (2)编写一个类:ClassA来实现接口InterfaceA,实现in ...

  8. java.lang下面有一个接口:Comparable(可比较的)

    对于自定义对象,Sort不知道规则,所以无法比较.这种情况下一定要定义排序规则.方式有两种: java.lang下面有一个接口:Comparable(可比较的) 可以让自定义对象实现一个接口,这个接口 ...

  9. java new一个接口到底要做什么

    转自:http://www.cnblogs.com/yjmyzz/p/3448330.html java中的匿名类有一个倍儿神奇的用法,见下面代码示例: 1 package contract; 2 3 ...

  10. Java 基础 面向对象: 接口(interface )概念 以及接口之练习3 -定义一个接口用来实现两个对象的比较并 判断instanceof是否为同类

    接口(interface )概念概念笔记 及测试代码: /** 面向对象: 接口(interface ) 是与类并行的一个概念: * 1.接口可以看成一个特殊的抽象类,它是常量与抽象方法的一个集合 * ...

随机推荐

  1. java代审之XXE

    一.什么是XXE漏洞 xxe攻击也叫xml外部实体注入攻击,是一种常见的Web应用安全漏洞,通过漏洞可导致任意文件读取.目录遍历.探测内网端口.攻击内网网站.发起DoS拒绝服务攻击.执行系统命令等安全 ...

  2. .net core 到底行不行!超高稳定性和性能的客服系统:性能实测

    业余时间用 .net core 写了一个升讯威在线客服系统.并在博客园写了一个系列的文章,介绍了这个开发过程. 我把这款业余时间写的小系统丢在网上,陆续有人找我要私有化版本,我都给了,毕竟软件业的初衷 ...

  3. lora训练之偷师

    自stable diffusion开源之后AIGC绘画方向定制化百花齐放百家争鸣.而c站 https://civitai.com/ 也聚集了全球爱好者的各种微调训练模型分享. 其中以lora为首,应用 ...

  4. Spring 缓存注解这样用,太香了!

    作者最近在开发公司项目时使用到 Redis 缓存,并在翻看前人代码时,看到了一种关于 @Cacheable 注解的自定义缓存有效期的解决方案,感觉比较实用,因此作者自己拓展完善了一番后分享给各位. S ...

  5. 关于MM32F001无法debug的问题

    以下问题仅来自于个人的调试发现和猜测, 并不代表芯片有任何问题. 实际上我也仅仅是试用了一下. 主要发现芯片总是被锁住(FLASH被写保护?),具体如下: (1) 内存溢出时芯片被写保护, 导致再次d ...

  6. 如何搭建园区3d可视化大屏

    搭建园区3D可视化大屏需要考虑多个方面,包括硬件设备.数据源获取.软件工具和可视化设计. 以下是一个详细的步骤指南,帮助您了解如何搭建园区3D可视化大屏. 1. 硬件设备选择: - 显示屏幕:选择适合 ...

  7. iframe嵌入报表滚动条问题

    当在iframe中嵌入报表时,可能会遇到滚动条的问题.下面是一个详细的介绍 1. 了解iframe: - iframe是HTML中的元素,用于在当前页面中嵌入另一个页面. - 嵌入报表时常使用ifra ...

  8. Visual Studio安装教程

    一.官网下载 地址:下载 Visual Studio Tools - 免费安装 Windows.Mac.Linux (microsoft.com) 二.安装 1.双击开始安装 2.等待一段时间,打开配 ...

  9. JTAG串链

  10. 《深入理解 FFmpeg》第一章彩色插图汇总

    layout: post title: "<深入理解 FFmpeg>第一章彩色插图" tags: - "FFmpeg" 这是<深入理解 FFm ...