JaVers 技术文档
JaVers 是一个轻量级的 Java 库,专门用于审计数据中的变更。在源代码管理中有版本控制系统,那么为何不在Java对象(实体、POJO、数据对象)上使用专门框架来生成审计跟踪呢?本文档旨在帮助您了解、安装并高效地使用JaVers。
安装指南
Maven 添加依赖
对于Maven用户,将以下依赖添加到您的pom.xml
文件中:
<dependency>
<groupId>org.javers</groupId>
<artifactId>javers-core</artifactId>
<version>确保使用最新版本,可以通过访问Maven中央仓库获取。</version>
</dependency>
Gradle 添加依赖
如果您使用Gradle,可以在build.gradle
文件中加入:
dependencies {
implementation 'org.javers:javers-core:最新版本'
}
确保替换“最新版本”为实际的JaVers版本号,可通过java.org查找。
项目的使用说明
JaVers的核心功能是记录和查询Java对象的变更。简单示例:
-
创建Javers实例
在应用启动时初始化Javers实例:
Javers javers = JaversBuilder.javers().withSqlRepository(SqlSchemaType.MYSQL).build();
-
注册您的domain类
在使用JaVers之前,需要让其知道您想要审计的类。
-
执行变更并记录
当对象状态发生变化时,使用
compare()
或registerSnapshot()
方法记录变更。MyEntity before = ...; MyEntity after = ...; ChangeList changes = javers.compare(before, after); javers.commit("author", changes);
项目API使用文档
JaVers提供了丰富API来处理对象变更。
-
Diff API:通过比较两个对象的状态来获取变更列表。
ChangeList changes = javers.diff(oldObject, newObj);
-
Commit API:将变更记录到存储中。
javers.commit肖像, "用户名", changes);
-
Query API:使用JaVers Query Language (JQL) 来检索特定的变更记录。
List<Change> changesForProperty = javers.queryChangesByProperty(MyEntity.class, "propertyName");
项目构建方式
为了从源码构建JaVers,您需要Git和Gradle。
-
克隆仓库
git clone https://github.com/javers/javers.git cd javers
-
构建并测试
使用Gradle进行构建及运行单元测试:
./gradlew build
运行自检以确认兼容性:
./gradlew javers-core:run
JaVers是一个开源项目,鼓励社区参与贡献。查看CONTRIBUTING.md了解更多贡献方式。
以上就是JaVers的基本使用和技术要点。更多高级特性和详细配置,请参考官方网站的官方文档。希望这能帮助您有效地使用JaVers来审计和追踪数据变更。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考