# g2rain-spring-boot-starter(通用 Starter)
g2rain-spring-boot-starter 是一个设计精良的 Spring Boot Starter 集合项目,面向微服务开发提供统一基础设施支持,采用模块化设计,支持按需引入。
# 核心覆盖模块
g2rain-starter-web-infra(Web 基础设施)- 全局 HTTP 请求封装、请求体缓存
- 身份上下文注入、登录权限校验
- 统一异常处理、访问日志记录
g2rain-starter-data-isolation(数据隔离)- 多租户/应用隔离(MyBatis 插件实现行级数据隔离)
- SQL AST 解析与改写(基于 JSQLParser)
- 注解配置简化:
@DataIsolation、@WithIsolation
g2rain-starter-cache-sync(缓存同步)- Redis + RabbitMQ 同步(按配置启用)
- 事件发布/订阅,实现跨服务一致性
g2rain-starter-data-redis(Redis 数据处理)- Value/Hash/List/Set/ZSet 等数据结构支持
- 分布式锁(Redisson)
- 批量读写与类型安全
g2rain-starter-logging-trace(日志追踪)- TraceId/SpanId 自动集成
- 结构化 JSON 日志、调用链路追踪
- 可上报到 Kafka
g2rain-starter-identity-client(身份客户端)- 分布式唯一身份生成(多策略)
g2rain-starter-aegis-core(核心防护)- 统一基础保护、依赖聚合、服务初始化简化
# 快速开始
# 环境要求
- Java:25+
- Maven:3.6+
- Spring Boot:3.5.6+
# 引入方式
完整依赖(推荐):
<dependency>
<groupId>com.g2rain</groupId>
<artifactId>g2rain-starter-aegis-core</artifactId>
<version>0.1.1</version>
</dependency>
按需引入(示例:Web 基础设施):
<dependency>
<groupId>com.g2rain</groupId>
<artifactId>g2rain-starter-web-infra</artifactId>
<version>0.1.1</version>
</dependency>
# Web 基础设施配置(示例)
g2rain:
web:
enabled: true
http-wrapper-filter-order: 100
principal-context-filter-order: 150
access-log-filter-order: 200
login-guard-interceptor-order: 300
identity-param-injector-order: 400
并可通过注解方式在 Controller 侧声明登录与身份注入要求:
@RestController
public class DemoController {
@LoginGuard(require = true, anonymous = false)
@IdentityInject(userIdRequire = true)
@GetMapping("/api/demo")
public Result<String> demo(@RequestParam String param) {
return Result.success("Hello World");
}
}