文档
Vostok
面向 JDK 17+ 的轻量 Java 框架,通过统一门面 Vostok 聚合十三个模块能力,各模块按需独立初始化,可使用数据访问、Web 服务、缓存、文件、Office、集群通信、日志、配置、安全、事件、HTTP 客户端、AI 等全部功能。
模块总览
Vostok.Data
数据访问
JDBC CRUD、事务、查询构建器、连接池、多数据源
Vostok.Web
Web 服务器
NIO Reactor、路由、中间件、WebSocket、SSE、自动 CRUD
Vostok.Cache
缓存
Redis / 内存 / 分层缓存,布隆过滤器,Pipeline 批量
Vostok.File
文件存储
本地文件读写、目录管理、压缩解压、文件监听
Vostok.Office
Office 处理
Excel(.xlsx)读写、流式逐行导入、安全检测
Vostok.Cluster
集群通信
Seed 节点发现、节点缓存、可靠广播、尽力广播、运行时统计
Vostok.Log
异步日志
滚动文件、队列策略、MDC、命名 Logger、彩色控制台
Vostok.Config
配置管理
自动扫描 .properties/.yml、文件监听、插值、多优先级
Vostok.Security
安全检测
SQL 注入、XSS、命令注入、路径穿越、AES/RSA 加密
Vostok.Event
事件总线
进程内发布订阅、同步 / 异步监听器、优先级与过滤器
Vostok.Http
HTTP 客户端
命名 Client、重试、JSON 解析、SSE 流、连接池
Vostok.AI
AI 集成
多模型 Chat、Session 管理、RAG、向量检索、Tool Call
Vostok.Util
工具集
JSON、字符串处理、ID 生成、时间工具、集合工具
快速开始
Maven 依赖
<!-- pom.xml -->
<dependency>
<groupId>yueyang</groupId>
<artifactId>vostok</artifactId>
<version>1.9.2.9</version>
</dependency>
按需初始化各模块
各模块通过 Vostok.<Module>.init(...) 独立初始化,仅启动实际需要的模块。
import yueyang.vostok.Vostok;
import yueyang.vostok.data.VKDataConfig;
import yueyang.vostok.web.VKWebConfig;
import yueyang.vostok.log.VKLogConfig;
import yueyang.vostok.cache.VKCacheConfig;
// 日志
Vostok.Log.init(new VKLogConfig().outputDir("logs").consoleEnabled(true));
// 数据库
Vostok.Data.init(
new VKDataConfig()
.url("jdbc:mysql://127.0.0.1:3306/demo")
.username("root").password("123456")
.maxActive(20),
"com.example.entity");
// 缓存
Vostok.Cache.init(new VKCacheConfig()
.providerType("MEMORY").maxEntries(10000));
// Web 服务器
Vostok.Web.init(new VKWebConfig().port(8080));
Vostok.Web.get("/hello", (req, res) -> res.ok("Hello, Vostok!"));
Vostok.Web.start();
// 关闭各模块
Vostok.Web.stop();
Vostok.Cache.close();
Vostok.Data.close();
Vostok.Log.close();
注意事项
- Web:调用
start()前必须先init(...)并注册路由。 - Data / Cache / Log / Config:支持懒加载,首次使用时会自动以默认配置初始化。
- Security:主动调用型,不会自动接入 Data/Web 执行链路。
- Http:使用相对路径时,须先注册带
baseUrl的命名 Client。
注意
当前版本定位为实验与技术验证,不建议直接用于生产环境。运行环境为 JDK 17+。
构建命令
# 编译
mvn compile
# 运行所有测试
mvn test
# 运行单个测试类
mvn test -Dtest=VostokCacheTest
# 构建 JAR
mvn package -DskipTests