Oscar 神通数据库日常操作
官网文档:http://www.shentongdata.com/index.php/download/list-26
由于甲方要求,项目实施必须使用国产数据库,最后是选择了神通数据库,在这方面其实我们也没有什么话语权。oscar是一款类Oracle系列的国产数据库,这里只是记录一些常用的操作。另外如果想选择国产数据库,可以参考开源软件联盟PostgreSQL分会的这篇文章《国产数据库的谱系》
Liquibase管理数据库版本
Liquibase是一个用于用于跟踪和管理应用数据库变化的开源工具,通过changelog日志的形式来记录数据库的变更,然后执行日志文件中的修改,将数据库更新或回滚到一致的状态。它的目标是提供一种与数据库类型无关的解决方案,主要优点包括:
- 支持几乎所有主流的数据库,包括Oracle、Sql Server、DB2、MySql、Sybase、PostgreSQL等,这样在数据库的部署和升级环节可以支持多数据库;
- 日志文件支持多种格式,如XML、YAML、JSON、SQL等;
- 支持回滚功能,可以按时间、数量、标签回滚变化;
smart-doc生成接口文档
smart-doc是一款支持Java Rest Api和Apache Dubbo Rpc接口文档生成的工具,官方文档已经介绍得很好,就不过多赘述了。相比swagger基于注解生成接口文档,它基于注释来生成,将代码无侵入这一目标进行的更加彻底,生成的接口文档画风也非常简单干净,而且支持JSR-303规范,可以解析Validation API相关的参数校验。这里记录一下在springboot应用中通过maven插件来生成smart接口文档的具体实践。
官网文档:https://smart-doc-group.github.io/#/zh-cn/?id=smart-doc
Maven应用构建打包
Maven是Java应用中一种很常见的构建方式,这里记录下我们使用Maven来构建springboot应用的一次实践以及遇到的问题
springboot应用配置和脚本
在springboot中,推荐的方式是直接打包成可执行JAR,这样简单、方便,并且使应用的部署和运行更加一致和可靠,非常适用于应用容器化部署。但我们希望也能兼容旧的打包部署方式,在一些非容器化部署的环境中,可能有直接修改应用配置文件甚至替换jar包的行为。所以我们还是保持以前的打包目录结构,在应用部署之后分为bin、config、lib、log4个子目录,区别只是lib中从原来的多个jar变成了现在的一个jar。