Java开发易用的SDK
–这里以开发一个第三方调用接口的sdk为例
一、简介
理想情况:开发者只需要关心自己需要调用哪些接口、传递哪些参数、就和调用自己写的代码一样简单
开发starter的好处:开发者引入后,可以直接在application.yml中书写配置,自动创建第三方调用的客户端
二、Starter的开发流程
1. 引入依赖
这个是为了开发者在使用这个sdk时,方便书写配置文件(有提示)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
其他的jar根据业务需求来
2.去除掉pom.xml文件中的build
3.去除掉启动类
4.编写配置类
@Configuration
@ConfigurationProperties(prefix = "zpyl.client")
@Data
@ComponentScan
public class ZpylClientConfig {
private String accessKey;
private String secretKey;
private String ipAddr;
private String port;
@Bean
public ZpylClient zpylClient(){
return new ZpylClient(accessKey,secretKey,ipAddr,port);
}
}
5.注册配置类
在resources/META-INF/spring.factories文件中加入一下内容
# 自动配置类 配置类的全路径
org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.example.zpylclientsdk.ZpylClientConfig
6.打包发布
使用mvn install 打包代码为本地依赖库
7.使用
在pom文件中引入打包的库
<dependency>
<groupId>com.example</groupId>
<artifactId>zpyl-client-sdk</artifactId>
<version>0.0.1</version>
</dependency>
8.书写相关的配置
zpyl:
client:
accessKey: user
secretKey: abcdefgh
ipAddr: 127.0.0.1
port: 8080
9.测试
@SpringBootTest
class ZpylInterfaceApplicationTests {
@Autowired
private ZpylClient zpylClient;
@Test
void contextLoads() {
zpylClient.xxx
}
}