version-spring-boot-starter
介绍
- 无网应用自动升级
- 每个版本升级时支持运行SQL脚本和Java代码,Java代码中支持操作数据库
- 执行SQL脚本或Java代码支持异常事务回滚
示例工程
查看示例工程
文件目录
src
|-- main
|-- java
|-- resources
|-- version
|-- sql
|-- 1.0.0.sql
|-- version.xml
使用说明
1、maven引入依赖
<dependency>
<groupId>cn.002alex</groupId>
<artifactId>version-spring-boot-starter</artifactId>
<version>1.0.3</version>
</dependency>
2、启动类添加@EnableVersionUpdating注解
@EnableVersionUpdating
@SpringBootApplication
public class SampleApplication {
public static void main(String[] args) {
SpringApplication.run(SampleApplication.class, args);
}
}
3、application.yml配置示例
application-version:
enable: true
version: 1.0.0
versionConfigPath:
4、version.xml配置示例
当前文件存放位置请看 文件目录
<?xml version="1.0" encoding="utf-8"?>
<versions>
<version>
<version>1.0.0</version>
<releaseTime>2024-7-27 12:30:53</releaseTime>
<description>
1.新增某某某功能
2.修复某某BUG
</description>
<order>0</order>
<invokeTarget></invokeTarget>
</version>
<version>
<version>1.0.1</version>
<releaseTime>2024-7-27 12:30:53</releaseTime>
<description>
1.新增某某某功能
2.修复某某BUG
</description>
</version>
</versions>
5、各版本SQL脚本配置示例
需注意每条语句需加结束符 ;
,否则将出现无法预估的异常
update sys_user set pass_word = '123456' where user_name = '张三';
执行回调
ApplicationVersionCallback.java
import cn.alex.version.callback.VersionUpdatingCallback;
import cn.alex.version.callback.builder.VersionUpdatingCallbackBuilder;
import cn.alex.version.callback.builder.VersionUpdatingCallbackExceptionBuilder;
import cn.alex.version.callback.builder.VersionUpdatingCallbackStartBuilder;
import org.springframework.stereotype.Service;
@Service
public class CustomCallBack implements VersionUpdatingCallback {
@Override
public void onStartCall(VersionUpdatingCallbackStartBuilder startBuilder) {
System.out.println("开始执行版本升级");
}
@Override
public void onUpdatingStartCall(VersionUpdatingCallbackBuilder updateBuilder) {
System.out.println("开始执行一个版本的升级");
}
@Override
public void onUpdatingEndCall(VersionUpdatingCallbackBuilder updateBuilder) {
System.out.println("结束执行一个版本升级");
}
@Override
public void onEndCall() {
System.out.println("结束执行版本升级回调");
}
@Override
public void onExceptionCall(VersionUpdatingCallbackExceptionBuilder exceptionBuilder) {
System.out.println("异常回调");
}
}