拥有自己的代码库真的很酷--如何开发一个SDK
- 工作小总结&小工具类
- 时间:2025-07-08 13:01
- 27人已阅读
🔔🔔🔔好消息!好消息!🔔🔔🔔
有需要的朋友👉:联系凯哥
拥有自己的代码库真的很酷--如何开发一个SDK
大家好,我是凯哥Java(绿色小气泡:kaigejava)
标签:SDK开发、Maven依赖管理、代码复用
分享理由:每个Java开发者都该有自己的代码库!本文揭秘如何将零散代码升级为专业SDK,通过Maven实现一键复用。从简单的Math工具类开始,教你打包、配置、发布完整流程,让'日复一日编程,年复一年造轮'成为历史。跟着做,你也能拥有随时调用的私人代码宝库!
前言
不知你是否和我一样,对编程解决问题有一种 ” 懒人执着 “ :已有代码能解决的,一律不重复造轮子
写过的重要代码就拷贝到自己的文本文件里整理起来,下次遇到相同问题直接cv,还记的我一个水仙花算法的代码应付了整个大学遇到的水仙花问题
即了解代码怎么实现,也节省了重复编写代码的时间,看上去真是一举两得
但当我存储的代码块越来越多,管理则成了一个问题:
试问:你希望看满满一大页的代码块来找你的目标代码,还是顺手就自己编写完那简单的轮子?
何况固定的代码并不能应对不同的场景,没准你还要理解和修改呢
于是在大二那年,我的项目用上了Maven,一个开源的依赖管理工具,你想要的功能大多都可以直接搜索下载依赖
几乎彻底解决了造轮子问题,但仍然有问题:
其一:尽管依赖有很多,但毕竟不是自己写的,对于功能实现和后续优化可能并没有那么有帮助
其二:下载的依赖是否匹配项目也是一个问题,名称相似而不相同的依赖也有不少,如何选择也会影响之后的开发
既然又希望理解原理,又不想后续重复造轮子
为什么不自己写常用的依赖呢?
通用的类,固定的常量,组件连接方法,超类的模板,常用的工具类等,都可以自己来写,打包成为依赖,自己来用呀
既了解如何实现,方便后续优化时进行更改,同时也利用Maven解决了管理问题,不用日后重复造轮子
步骤
新建项目(Springboot - spring Initializr)
打开IDEA,选择新建一个springboot项目
删除文件
删除springboot-starter-test依赖,删除build组件,删除Application主类,删除test中的测试方法
pom.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.7.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.itegg</groupId>
<artifactId>common</artifactId>
<version>0.0.1</version>
<name>common</name>
<description>ITegg common package</description>
<properties>
<java.version>8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
</project>
项目结构:
新建配置类
在刚刚删除主类的地方生成新的配置类ITeggTestConfig(名字自己取就好)
package com.itegg.common;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@ConfigurationProperties("itegg.test")
@Data // lombok注解,帮助把属性设置get和set方法,这里暂时没用上
@ComponentScan // 扫包注解
public class ITeggTestConfig {
}
新建一个Util包,创建一个Math类
在resource下新建文件夹META-INF
在META-INF下新建一个spring.factories文件,指引开启项目(后面的com.itegg.common.ITeggTestConfig请改为上述创建的配置类名称)
内容如下:
# spring boot starter
org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.itegg.common.ITeggTestConfig
打包
执行右侧Maven栏中的install命令进行打包
调用
复制该项目中的groupId,artifactId,version信息,放置在目标项目pom.xml文件中的dependency里
<dependency>
<groupId>com.itegg</groupId>
<artifactId>common</artifactId>
<version>0.0.1</version>
</dependency>
刷新maven依赖,后续就像使用其他maven的依赖一样
public class Test {
public static void main(String[] args) {
int a = 10;
int b = 20;
Math math = new Math();
System.out.println(math.Addition(a, b));
System.out.println(math.Subtraction(a, b));
System.out.println(math.Multiplication(a, b));
System.out.println(math.Division(a, b));
}
}
输出结果:
return:
30
-10
200
0
当然,这种只是一个再简单不过的例子,但不积跬步无以至千里,这样一步步建立自己的代码库,真的很酷! 顺带一提,这只是在本地maven中加载了依赖,其他电脑是使用不了的,如果希望上传到网上公开给大家使用的话,要去maven仓库注册账号发布 怎么样,读完了不想动手试试吗? 坚持日复一日编程,打破年复一年造轮 作者:凯哥Java 类型:转载 原作者:IT蛋 日期:2025年07月8日 标签:SDK开发、Maven依赖管理、代码复用