中小型项目用SpringBoot太大了,不如尝试下Martian
字数 1261 2025-08-15 21:32:47
Martian框架教学文档
一、框架概述
Martian是一个声明式API编程(DAP)的Java开发框架,专为中小型项目设计,相比SpringBoot更加轻量级。
核心特点
- 使用HttpServer作为HTTP服务,彻底脱离Tomcat等Web容器和Servlet规范
- 减少项目依赖数量
- 声明式API设计,将Controller转变为interface
- 提供AOP、IOC、声明式事务、异常监听等核心功能
- 集成自主开发的半ORM持久层框架
二、快速开始
1. 声明式API开发
@MarsApi(refBean="要引用的bean的name")
public interface TestApi {
返回类型 selectList(TestDTO testDTO);
}
2. 传统Controller写法
框架也支持传统的Controller写法,兼容已有开发习惯。
三、核心功能详解
1. 单表增删改查(无SQL)
// 根据主键查询
@MarsGet(tableName = "userinfo", primaryKey = "id")
public abstract 要返回的实体类 selectById(int id);
// 单表新增
@MarsUpdate(tableName = "userinfo", operType = OperType.INSERT)
public abstract int insert(实体对象参数);
// 单表根据主键删除
@MarsUpdate(tableName = "userinfo", operType = OperType.DELETE, primaryKey = "id")
public abstract int delete(int id);
// 单表根据主键修改
@MarsUpdate(tableName = "userinfo", operType = OperType.UPDATE, primaryKey = "id")
public abstract int update(实体对象参数);
2. 参数校验
在VO/DTO字段上添加注解即可完成校验:
// 不可为空且长度限制
@MarsDataCheck(notNull = true, maxLength = 3L, minLength = 2L,
msg = "id不可为空且长度必须在2-3位之间")
private Integer id;
// 正则校验
@MarsDataCheck(reg = "^(?(?[0-9A-Za-z]{6,12}$",
msg = "密码必须是6-12位数字字母组合")
private String password;
校验失败时会自动返回JSON格式的错误信息。
3. 异常处理
框架提供自动异常处理机制:
- 无需在每个方法中编写try-catch块
- 出现异常时自动返回标准JSON错误响应
4. 分布式锁
通过注解轻松实现分布式锁:
@RedisLock(key = "自定义key")
public int insert(){
return 1;
}
四、高级特性
1. 多种启动方式
- 默认使用HttpServer
- 提供Tomcat启动器可选
2. AOP支持
框架内置AOP功能,可方便地实现切面编程。
3. IOC容器
提供依赖注入功能,管理Bean生命周期。
4. 声明式事务
支持通过注解配置事务。
五、适用场景
Martian框架特别适合:
- 中小型Java Web项目
- 需要快速开发的API服务
- 希望减少依赖的轻量级应用
- 对Tomcat/Servlet无强依赖的项目
六、项目生态
Martian框架已形成完整生态:
- 核心Web框架
- 半ORM持久层框架
- 各种扩展组件(如Redis锁)
七、与传统框架对比
| 特性 | Martian | SpringBoot |
|---|---|---|
| 容器依赖 | HttpServer或可选Tomcat | 必须Tomcat/Jetty等 |
| 开发方式 | 声明式API为主 | 注解式Controller |
| 依赖数量 | 较少 | 较多 |
| 学习曲线 | 较低 | 较高 |
| 功能完整性 | 满足中小项目 | 企业级完整功能 |
八、最佳实践
- 对于简单CRUD操作,优先使用声明式API
- 复杂业务逻辑可使用传统Controller写法
- 充分利用框架提供的参数校验功能
- 合理使用分布式锁处理并发问题
- 利用异常监听器统一处理错误
九、官方资源
- 官方网站:[此处应填写官方网站地址]
- 项目源码:[此处应填写源码仓库地址]
- 文档资料:[此处应填写文档地址]
十、总结
Martian框架通过声明式API和简化配置,显著提高了Java Web开发效率,特别适合中小型项目快速开发。其轻量级特性和完整的功能集,为开发者提供了SpringBoot之外的另一种选择。