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: (什么、这个你还不知道,别开发了,养猪去吧。)
- Thrift Direct Memory OOM问题解决方法
- Mapreduce程序中reduce的Iterable参数迭代出是同一个对象
- 内部威胁那些事儿(二):系统破坏
- 从用户行为去理解内容-item2vec及其应用
- Dubbo与Zookeeper、SpringMVC整合和使用(入门级)
- Websocket HandShake Sec-WebSocket-Accept 生成策略
- 关于JVM CPU资源占用过高的问题排查
- ActiveMQ简单介绍以及安装
- Java Process destroy方法kill进程,返回码测试
- 百度人脸识别API Java调用
- Java Socket Timeout总结
- 求一个数组中子数组的最大和算法(Java实现)
- JDBC批量提交SQL的几点问题解答
- 工具推荐: 汽车CAN总线分析框架CANToolz
- 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 文档注释
- keras得到每层的系数方式
- 解决TensorFlow调用Keras库函数存在的问题
- php判断电子邮件是否正确方法
- python db类用法说明
- python中wheel的用法整理
- 使用Keras训练好的.h5模型来测试一个实例
- python中查看.db文件中表格的名字及表格中的字段操作
- Ubuntu 16.04中Laravel5.4升级到5.6的步骤
- PHP SESSION机制的理解与实例
- Yii支持多域名cors原理的实现
- PHP实现的pdo连接数据库并插入数据功能简单示例
- php基于Redis消息队列实现的消息推送的方法
- mongodb和php的用法详解
- php多进程模拟并发事务产生的问题小结
- PHP中命名空间的使用例子