本文将实现依据契约接口完成加法服务的实现。
服务的实现是需要依赖契约接口的定义的,所以需要引入接口定义jar包。
新建Java工程spi-provider-add,引入spi-intface.jar。
新建com.fanyc.test.spi.provider.Add类,实现com.fanyc.test.spi.intface.Computer接口,
实现体中完成了的a和b的求和并返回。
代码如下所示:
package com.fanyc.test.spi.provider; import com.fanyc.test.spi.intface.Computer; /** * 服务实现者:加法运算 * * @author Fanyc * */ public class Add implements Computer { /** * {@inheritDoc} */ @Override public int compute(int a, int b) { return a+b; } }
至此加法服务的接口实现就完成了,还需要一个重要的步骤,不然java SPI是不会发现该服务的。
在工程根目录下新建目录:META-INF/services
添加文件名为:com.fanyc.test.spi.intface.Computer 即契约接口名
添加文件内容为:com.fanyc.test.spi.provider.Add 即契约服务实现者类名
至此才算真正完成了服务实现者的所有内容。
相关推荐
SPI通讯设备是主从通讯模式,可以通讯设备双方有主从之分. SPI通讯需要4根线:一条时钟线SCK,两条数据线MOSI,MISO,一条片选信号线CS_N SCK:时钟信号线,用于同步通讯数据,Master产生,决定了通讯的速率。 MOSI;...
《嵌入式Linux基础教程》是一本内容详实、实用性极强的专业书籍,不仅适合初学者入门学习,也适用于有一定基础的技术人员进一步提升自己的技能。本书通过丰富的实例和深入浅出的讲解,帮助读者全面了解嵌入式Linux...
- 使用`ioctl()`设置SPI参数,如`SPI_IOC_WR_MODE`、`SPI_IOC_RD_MODE`、`SPI_IOC_WR_BITS_PER_WORD`、`SPI_IOC_RD_BITS_PER_WORD`、`SPI_IOC_WR_MAX_SPEED_HZ`和`SPI_IOC_RD_MAX_SPEED_HZ`。 - 准备要传输的数据...
【使用ICAP原语实现SPI-Multiboot加载1】的知识点主要集中在FPGA的多重配置(Multiboot)和ICAP(Internal Configuration Access Port)原语的应用上,这是一种允许在不重启FPGA的情况下切换不同应用程序的技术。...
【Spring Boot 系列博客】 ...(35)Spring Boot集成Redis实现缓存机制【从零开始学Spring Boot】 http://412887952-qq-com.iteye.com/blog/2294942 更多查看博客:http://412887952-qq-com.iteye.com/
这个标准有助于设计者理解和实现与SPI NOR Flash设备的接口,确保设备之间的互操作性和一致性。 标准中涵盖了以下关键点: 1. **命令集**:定义了各种读取、写入、擦除和状态查询等操作的SPI命令。 2. **地址映射**...
vue-nodejs-elementUI-mysql-express-demo vue+nodejs前后端分离项目,学习使用,包含基本的入门操作。包括从开始创建项目到最后部署的实现过程及过程中遇到的一些问题整理。 项目预览地址: 评论讨论地址: 数据库...
【Dubbo入门实例Demo】是针对初学者设计的一个实践教程,旨在帮助新手快速理解并掌握Apache Dubbo这一高性能、轻量级的Java RPC框架。在学习过程中,新手往往会在配置、依赖、通信等方面遇到诸多问题,这个Demo就是...
通过ObjectMapper,我们可以方便地实现POJO(Plain Old Java Object)到JSON字符串的序列化,以及JSON字符串到POJO的反序列化。此外,它还支持复杂的类型映射,如集合、Map以及自定义类型,同时提供了注解支持,使得...
SpringCloud是中国IT教育品牌黑马程序员推出的一门高级微服务架构课程的实践项目压缩包,它包含了一个完整的demo工程,以及配套的两个数据库脚本:tb-user.sql和tb-order.sql。这个压缩包旨在帮助学习者深入理解和...
Dubbo是一个高性能、轻量级的Java RPC框架,由阿里巴巴开发并开源,它允许服务提供者暴露服务,服务消费者调用这些服务,中间通过注册中心进行通信和管理。 【压缩包子文件的文件名称列表】中的 "dubbo-demo-...
内核linux4.4 驱动详情可看我博客RK-驱动开发(四)SPI驱动编写和使用,是关于SPI设备和驱动的定义和实现、和dts的配置说明。可供学习如何使用SPI驱动 内含一个很简单的demo,是使用iSPI驱动去编写读写操作,包括 ...
程序采用状态机的方式实现SPI通信过程,共有53个状态,大致分为三个阶段: 1. **ENWR(使能写入)**:为写入操作做准备,发送特定命令使芯片进入可写状态。 2. **WRITE(写入数据)**:向指定地址写入数据。 3. **...
在STM32F103上实现SPI通信,需要了解和掌握以下关键知识点: 1. **STM32F103架构**:STM32F103拥有多个外设接口,包括SPI,其工作速度、内存结构和GPIO引脚复用功能为其提供了强大的通信能力。Cortex-M3内核负责...
【Goeserver+openlayer 入门Demo】是关于地理信息系统(GIS)开发的一个实践教程,主要涵盖了两个关键组件:GoServer和OpenLayers。GoServer是一个用Go语言编写的轻量级GIS服务器,它允许开发者处理和发布地理空间...
这个Python实现的UDS库,名为python-udsoncan,提供了在CAN(Controller Area Network)网络上执行UDS诊断服务的功能。下面将详细介绍UDS协议、Python在UDS中的应用以及如何使用python-udsoncan库。 **UDS协议详解...
【标题】"BlueNRG-LP_spi_demo.rar" 涉及的是一个使用SPI通信协议与BlueNRG-LP蓝牙低功耗芯片进行交互的演示项目。BlueNRG-LP是STMicroelectronics(意法半导体)公司推出的一款高效能、低功耗的蓝牙智能SoC(系统级...
在这个“dubbo入门demo样例”中,我们将探讨如何使用Dubbo构建一个简单的服务消费者和服务提供者。 首先,项目采用Maven作为构建工具,Maven可以帮助我们管理项目的依赖关系,简化构建过程。在项目中,你将看到两个...
### AXI_Quad_SPI IP核的关键知识点 #### 1. AXI_Quad_SPI IP核概述 AXI_Quad_SPI是一种高性能、高灵活性的接口IP核,主要用于与支持SPI协议的外部存储器或其他设备进行高速数据交换。该IP核基于ARM AMBA AXI ...
在系统级验证中,为了确保设计的SPI接口功能正确,开发者通常会利用验证方法学来构建虚拟IP(VIP,Virtual Intellectual Property)。UVM(Universal Verification Methodology)是SystemVerilog语言的一种验证框架...