Blen Kernel 是 Zeka.Stack 框架的核心包,提供了企业级 Java 应用开发所需的基础功能和工具。该框架基于 Spring Boot 3.x 和 Java 17+,采用模块化设计,支持按需引入,为开发者提供高效、稳定、易用的开发体验。
- 基于 Spring Boot 3.x 和 Java 17+
- 支持 Jakarta EE 规范
- 集成最新的 Spring 生态
- 11 个独立模块,按需引入
- 清晰的模块边界和职责
- 支持模块独立使用
- 统一的异常处理机制
- 完善的参数验证体系
- 强大的代码生成工具
- 完整的测试支持
- 丰富的工具类集合
- 详细的文档和示例
- 完善的错误提示
- 开箱即用的配置
| 模块 | 功能描述 | 依赖关系 |
|---|---|---|
| blen-kernel-common | 基础工具类和通用功能 | 基础模块 |
| blen-kernel-dependencies | 依赖版本管理 | 父模块 |
| 模块 | 功能描述 | 依赖关系 |
|---|---|---|
| blen-kernel-auth | JWT 认证和授权 | common |
| blen-kernel-validation | 参数验证和校验 | common |
| blen-kernel-web | Web 应用支持 | common |
| blen-kernel-autoconfigure | 自动配置 | validation |
| 模块 | 功能描述 | 依赖关系 |
|---|---|---|
| blen-kernel-devtools | 代码生成工具 | common |
| blen-kernel-test | 测试工具和注解 | common |
| blen-kernel-notify | 消息通知 | common |
| blen-kernel-spi | 服务提供者接口 | common |
| 模块 | 功能描述 | 依赖关系 |
|---|---|---|
| blen-kernel-tracer | 链路追踪 | common |
| blen-kernel-extend | 第三方组件集成 | common |
<dependency>
<groupId>dev.dong4j</groupId>
<artifactId>blen-kernel</artifactId>
<version>2.0.0-SNAPSHOT</version>
<type>pom</type>
</dependency><dependency>
<groupId>dev.dong4j</groupId>
<artifactId>blen-kernel-common</artifactId>
<version>2.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>dev.dong4j</groupId>
<artifactId>blen-kernel-auth</artifactId>
<version>2.0.0-SNAPSHOT</version>
</dependency>blen:
kernel:
enabled: true
config:
validate: true
cache:
enabled: true
size: 1000@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}@RestController
@RequestMapping("/api/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/{id}")
public Result<User> getUser(@PathVariable Long id) {
User user = userService.findById(id);
return R.succeed(user);
}
@PostMapping
public Result<User> createUser(@Valid @RequestBody User user) {
User createdUser = userService.createUser(user);
return R.succeed(createdUser);
}
}// 成功响应
Result<User> result = R.succeed(user);
// 失败响应
Result<Void> result = R.failed("操作失败");
// 自定义响应
Result<String> result = R.build(2000, "成功", "数据");@RestControllerAdvice
public class GlobalExceptionHandler extends ServletGlobalExceptionHandler {
@ExceptionHandler(BusinessException.class)
public Result<Void> handleBusinessException(BusinessException e) {
return R.failed(e.getCode(), e.getMessage());
}
}public class User {
@NotBlank(message = "用户名不能为空")
@Size(min = 3, max = 20, message = "用户名长度必须在3-20个字符之间")
private String username;
@Email(message = "邮箱格式不正确")
private String email;
@Phone(message = "手机号格式不正确")
private String phone;
}@Service
public class AuthService {
public String generateToken(User user) {
Map<String, Object> claims = new HashMap<>();
claims.put("user", user);
claims.put("username", user.getUsername());
Date expiration = new Date(System.currentTimeMillis() + 3600000);
return JwtUtils.generateToken(claims, jwtSecret, expiration);
}
}@Test
public void generateCode() {
AutoGeneratorCode generator = new AutoGeneratorCode()
.setAuthor("dong4j")
.setPackageName("com.example.user")
.setTables("user", "role")
.setTemplates("entity", "controller", "service", "impl", "dao", "xml");
generator.generate();
}- Spring Boot 3.x: 应用框架
- Spring Framework 6.x: 核心框架
- Jakarta EE 9+: 企业级规范
- MyBatis-Plus: ORM 框架
- HikariCP: 连接池
- MySQL/PostgreSQL: 数据库
- Hutool: 工具库
- Jackson: JSON 处理
- MapStruct: 对象映射
- Lombok: 代码简化
- JUnit 5: 单元测试
- Spring Boot Test: 集成测试
- Mockito: Mock 框架
- JMH: 性能测试
| Blen Kernel | Spring Boot | Java | 状态 |
|---|---|---|---|
| 2.0.x | 3.x | 17+ | 开发中 |
| 1.x | 2.x | 8+ | 维护中 |
我们欢迎所有形式的贡献,包括但不限于:
- 🐛 问题报告
- 💡 功能建议
- 🔧 代码贡献
- 📖 文档改进
- 克隆项目
git clone https://github.com/zeka-stack/blen-kernel.git
cd blen-kernel- 安装依赖
mvn clean install- 运行测试
mvn test我们使用 Conventional Commits 规范:
feat: 新功能fix: 问题修复docs: 文档更新style: 代码格式refactor: 代码重构test: 测试相关chore: 构建过程或辅助工具的变动
本项目采用 MIT License 许可证。
- 作者: dong4j
- 邮箱: dong4j@gmail.com
- 项目地址: https://github.com/zeka-stack/blen-kernel
- 问题反馈: https://github.com/zeka-stack/blen-kernel/issues
感谢所有为 Blen Kernel 项目做出贡献的开发者们!
Blen Kernel - 让 Java 开发更简单、更高效!