Java SDK开发(SpringBoot Starter)

news2024/9/20 1:17:06

SDK开发

开发starter的好处:引入starter之后,可以在配置文件中配置,自动生成客户端使用。

步骤

1. 创建一个初始化SpringBoot项目,选择相关依赖:

Lombook:日志注解

第二个注解是为了关键词提示用的,后面可以看到。

2. 处理pom文件,删除其中的build依赖项,不需要进行构建。此外配置相关的版本号

3. 编写相关代码逻辑

4. 配置文件目录

# spring boot starter
org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.example.ydyapiclientsdk.YdyApiClientConfig

注意:这里等号后面的是你需要暴露出去的东西,也就是指定为你的配置类。这样它才能被加载到,从而被SpringBoot识别到。

注意:test中的测试类需要删除,因为不构建test,否则有可能报错。

5. 使用maven进行构建,将打包的项目下载到本地的maven仓库中。

6. 在其他项目中引入

之后便可以正常调用。

这里说明一下上面第二个注解的作用:

查看starter的源码,可以看到如下文件

里面配置了提示词相关的东西,也就是代码提示内容

{
  "groups": [
    {
      "name": "ydy.api.client",
      "type": "com.example.ydyapiclientsdk.YdyApiClientConfig",
      "sourceType": "com.example.ydyapiclientsdk.YdyApiClientConfig"
    }
  ],
  "properties": [
    {
      "name": "ydy.api.client.access-key",
      "type": "java.lang.String",
      "sourceType": "com.example.ydyapiclientsdk.YdyApiClientConfig"
    },
    {
      "name": "ydy.api.client.secret-key",
      "type": "java.lang.String",
      "sourceType": "com.example.ydyapiclientsdk.YdyApiClientConfig"
    }
  ],
  "hints": []
}

也就是配置文件中的提示:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1983361.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java:多线程(同步死锁,锁原子变量,线程通信,线程池)

5,同步和死锁 5.1,Synchronized,Lock 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象;修饰一个方法,被修饰的…

如何使用极狐GitLab 实现最小权限访问?

极狐GitLab 是 GitLab 在中国的发行版,专门面向中国程序员和企业提供企业级一体化 DevOps 平台,用来帮助用户实现需求管理、源代码托管、CI/CD、安全合规,而且所有的操作都是在一个平台上进行,省事省心省钱。可以一键安装极狐GitL…

初始化seata在nacos的配置报错nacos-config.sh 127.0.0.1-nacos-config.txt-文件不存在

问题:初始化seata在nacos的配置报错nacos-config.sh 127.0.0.1-nacos-config.txt-文件不存在 解决思路: 1.seata-server-0.9.0\seata\conf下的file.conf文件要修改: transport {# tcp udt unix-domain-sockettype "TCP"#NIO NA…

IDEA如何去掉编辑框右侧的竖线

打开 IntelliJ Idea 软件 依次找到 File—>Settings—>Editor—>General—>Appearance 去掉勾选 Show hard wrap and visual guides (configured in Code Style options)

OpenAI 取消为 ChatGPT 加水印计划,用户反应成关键因素|TodayAI

OpenAI 近日宣布,尽管公司内部已经准备了一种为 ChatGPT 生成的文本添加水印的系统,但由于担心用户反应,公司决定暂不推出这一功能。 据《华尔街日报》报道,OpenAI 早在一年前就开发了一个可以为 ChatGPT 生成的文本添加水印的系…

智能化招聘系统:从筛选到录用的全程解析

一、引言 在数字化时代,企业的人力资源管理正经历着前所未有的变革。招聘作为人力资源管理的重要一环,其效率与精准度直接影响着企业的竞争力和发展动力。随着人工智能(AI)技术的飞速发展,智能化招聘系统应运而生&…

开源SFTP服务器软件SFTPGo

什么是 SFTPGo? SFTPGo 是一种事件驱动的文件传输解决方案。它支持多种协议(SFTP、SCP、FTP/S、WebDAV、HTTP/S)和多种存储后端,包括本地文件系统、加密本地文件系统、S3(兼容)对象存储、Google Cloud Stor…

【Linux】—— Linux进程状态(R、S、D、T、Z、X)

🌏博客主页:PH_modest的博客主页 🚩当前专栏:Linux跬步积累 💌其他专栏: 🔴 每日一题 🟡 C跬步积累 🟢 C语言跬步积累 🌈座右铭:广积粮&#xff0…

全新启航!阿里云向量检索服务Milvus版正式上线!

今天,阿里云正式宣布向量检索服务Milvus版在杭州、上海、北京、深圳四大region正式可用并开放公测!这是由阿里云与产品生态合作伙伴Zilliz联合推出的一款业内领先的云原生向量检索引擎。向量检索服务Milvus版在上一代EMR Serverless Milvus 公测版的基础…

人工智能自动驾驶三维车道线检测—PersFormer模型代码详解

文章目录 1. 背景介绍2. 数据加载和预处理3. 模型结构4. Loss计算5. 总结和讨论 1. 背景介绍 梳理了PersFormer 3D Lane这篇论文对应的开源代码。 2. 数据加载和预处理 数据组织方式参考:自动驾驶三维车道线检测系列—OpenLane数据集介绍。 坐标系参考&#xff…

【Raven2靶场渗透】

文章目录 一、IP获取 二、信息收集 三、Flag1 四、漏洞利用 五、Flag2 六、Flag3 七、MSF UDF提权 八、CVE漏洞本地提权 一、IP获取 Kali IP:192.168.78.128 靶机IP:192.168.78.178 二、信息收集 端口和服务探测: nmap -sV -p- 192.168.78.178 开放…

启发式合并加树形dp

题目链接 令f【x】【0】表示不选根的x子树的最大贡献,f【x】【1】表示选根的x子树最大贡献,g【x】为max(f【x】【0】,f【x】【1】)。 如果我们要连接x和u1,那么贡献是: w【x】w【u1】f【u1】【0…

ASP.NET Core 基础 - 入门实例

一. 下载 1. 下载vs2022 Visual Studio 2022 IDE - 适用于软件开发人员的编程工具 (microsoft.com) 学生,个人开发者选择社区版就行,免费的. 安装程序一直下一步下一步就行,别忘了选择安装位置,如果都放在C盘的话,就太大了. 2. 选择工作负荷 准备工作完成 二. 创建新项目 三…

如何用密码保护你的 WordPress 管理员 (wp-admin) 目录

在维护 WordPress 网站时,确保 wp-admin 目录安全是非常重要的。为该目录添加密码保护可以有效提高网站安全性,防止未经授权的访问。这篇文章将介绍实现这一目标的两种方法。 1.为什么要为 wp-admin 目录添加密码保护 WordPress 管理员后台是网站的核心…

自动化集成应用钡铼DB系列防水分线盒

随着工业自动化的快速发展,如今的现场设备需要更高效、更稳定的信号采集和集成方案。钡铼技术的DB系列防水分线盒作为一种优秀的解决方案,成功地结合了先进的工业设计与耐用材料,为物流设备、食品加工设备、制药设备等多种工业应用提供了可靠…

《深入浅出WPF》学习笔记六.手动实现Mvvm

《深入浅出WPF》学习笔记六.手动实现Mvvm demo的层级结构,Mvvm常用项目结构 依赖属性基类实现 具体底层原理后续学习中再探讨,可以粗浅理解为,有一个全局对象使用list或者dic监听所有依赖属性,当一个依赖属性变化引发通知时,就会遍历查询对应的字典,通知View层进行…

目标检测之选择性搜索:Selective Search

文章目录 一.选择性搜索的具体算法二.保持多样性的策略三.给区域打分四.选择性搜索性能评估五.代码实现 论文地址: https://www.koen.me/research/selectivesearch/ 代码地址: https://github.com/AlpacaDB/selectivesearch 参考: https:/…

SpringBootWeb AOP

事务&AOP 1. 事务管理 1.1 事务回顾 在数据库阶段我们已学习过事务了,我们讲到: 事务是一组操作的集合,它是一个不可分割的工作单位。事务会把所有的操作作为一个整体,一起向数据库提交或者是撤销操作请求。所以这组操作要…

kickstart自动安装脚本,pxe网络安装

目录 1 kickstart图形化生成脚本工具 1.1 安装apache 1.2 创建挂载镜像软链接 1.3 图形生成自动化脚本选项 1.4 修改生成的自动化脚本 1.5 将脚本放至网站根目录 2 安装系统 2.1 关闭DHCP自动分配 2.2 下载配置DHCP服务 2.3 重启DHCP服务 2.4 使用pxe方法安装系统(网…

YOLOv5与YOLOv8 训练准备工作(不包含环境搭建)

前言:我发现除了安装环境需要耗费大量时间以外,对于训练前的准备工作也要琢磨一段时间,所以本篇主要讲一下训练前需要准备的工作(主要是XML格式换为txt,以及划分数据集验证集,和训练参数的设置)…