SpringBoot 将自制的Starter 发布到远程公服
上一篇文章:就是简单的介绍了如何自己制作一个starter ,由于上篇文章只是我个人的笔记,就是将其中重要的部分写出来了,少了其他的基础步骤,但是这个我自己就能看懂,也算不上是一篇好的博客,只能算是笔记,还是抄别人一半的笔记,如果有需要的话,我会详细的写一篇,我自己定义的第三方支付stater 的详细步骤。
这篇主要是将定义好的的 starter 发布到远程服务端,就是别人通过 Maven 指定坐标就能从远程引用,不是导入jar包之类的,感觉这样才是新时代新程序员(偷懒) 的做法。当然了,这篇文章也是借(不要脸)鉴(抄袭的)别人的博客,当然我也会附上原文的地址,毕竟是人家的劳动成果,我只是在其中添加部分的文字。
概 述
传统的 Maven项目一般将需要被复用的组件做成 Module来进行管理,以便二次调用;而在 Spring Boot项目中我们则可以使用更加优雅的 Spring Boot Starter来完成这一切。
基于Spring Boot开发应用的过程可谓是幸福感满满,其开箱即用的特性分析已经在 《SpringBoot 应用程序启动过程探秘》一文中详细叙述过了。这个开箱即用的魔法特性很大程度上来源于各式各样 Spring Boot Starter的加持,而且随着版本的迭代 Starter家族成员日益庞大,而且各种优秀开源作者也提供了很多非常好用的Spring Boot Starter。
本文则尝试自制一个Spring Boot Starter并推送到远端仓库进行管理。
注: 本文首发于 My Personal Blog:CodeSheep·程序羊,欢迎光临 小站
制作starter 的步骤 略 ......
推送到远端仓库
很多公司都搭有私有的 Maven仓库,但个人实验可以借助于 JitPack这个 “远端公服”来为我们托管自制的 Spring Boot Starter。
我们将编写好的 Spring Boot Starter代码置于 Github公有仓库上,然后通过 JitPack来拉取我们的代码并打包生成Jar包即可
其中有个步骤:需要说明 就是需要在Github 上 创建release 或者 tag ,然后通过 look up 查询版本,然后 点击Get It ,下面就会生成 maven 的仓库。
推送到远端仓库
使用Spring Boot Starter
新建一个测试工程来测试一下我们编写的 easy-pay-spring-boot-starter
。工程创建完毕后,在 pom.xml
中加入如下两个元素:
引入所在的仓库:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
引入需要使用的starter:
<dependency>
<groupId>com.github.ZuoYanCoder</groupId>
<artifactId>easy-pay-spring-boot-starter</artifactId>
<version>1.0.2</version>
</dependency>
这样在application.properties 配置文件中就会提示:
server.port= 80
# 配置应的秘钥
spring.easy.pay.key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# 配置用户的商户号码
spring.easy.pay.partner=88888888
# 配置返回通知地址
spring.easy.pay.notify-url=http://xxxxxx.ngrok.io/pay/notify
# 配置成功跳转地址
spring.easy.pay.return-url=http://xxxxx.ngrok.io/pay/success
然后在项目中自己调用就行了!
最后给出重要的地址:
生成Maven坐标的地址: https://jitpack.io/
GitHub: (什么、这个你还不知道,别开发了,养猪去吧。)
- 我的职业是前端工程师【四】:如何选择合适的前端框架,告别选择恐惧症
- 我的职业是前端工程师【七】:你真的懂前后端分离吗?
- 使用了 Google AMP 网站加速技术后,我的博客快了八倍
- 前端程序员必知:单页面应用的核心
- b这样去设计 URL,可以提高网站的访问量
- 程序员必知之SEO
- 进程监控工具supervisor 启动Mongodb
- 祭奠那些年,我弃坑的开源轮子
- 这些奇技浮巧,助你优化前端应用性能
- Stepping.js——两步完成前后端分离架构设计
- 我的职业是前端工程师【十】客户端存储艺术:数据存储与模型
- 【开源】2md:将复制的内容、网页转成 markdown
- React Native 持续部署实践— push 代码构建出新版的 Growth
- 技巧 - 如何好一个 Git 提交信息及几种不同的规范
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Node.js开发人员都应该知道的12个有用的包
- 欧拉函数的几条重要性质
- 迷宫问题的简单栈实现
- xmuC语言程序实践week 3 大作业
- xmuC语言程序实践week 4 大作业
- R语言预测人口死亡率:用李·卡特(Lee-Carter)模型、非线性模型进行平滑估计
- 前端的发展历程
- R语言蒙特卡洛计算和快速傅立叶变换计算矩生成函数
- Visual Studio 中万能头文件编译不了的解决方案
- Difference in two ways of using lower_bound [C++]std::set::lower_bound与std::lower_bound
- 迷你版Vue--学习如何造一个Vue轮子
- 如何用R语言绘制生成正态分布图表
- hdu 5143 NPY and arithmetic progression(暴力+思维)
- 正则表达式之简易markdown文件解析器
- 2015.CCF计算机软件能力认证试题第二题