中小型项目用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框架已形成完整生态:

  1. 核心Web框架
  2. 半ORM持久层框架
  3. 各种扩展组件(如Redis锁)

七、与传统框架对比

特性 Martian SpringBoot
容器依赖 HttpServer或可选Tomcat 必须Tomcat/Jetty等
开发方式 声明式API为主 注解式Controller
依赖数量 较少 较多
学习曲线 较低 较高
功能完整性 满足中小项目 企业级完整功能

八、最佳实践

  1. 对于简单CRUD操作,优先使用声明式API
  2. 复杂业务逻辑可使用传统Controller写法
  3. 充分利用框架提供的参数校验功能
  4. 合理使用分布式锁处理并发问题
  5. 利用异常监听器统一处理错误

九、官方资源

  • 官方网站:[此处应填写官方网站地址]
  • 项目源码:[此处应填写源码仓库地址]
  • 文档资料:[此处应填写文档地址]

十、总结

Martian框架通过声明式API和简化配置,显著提高了Java Web开发效率,特别适合中小型项目快速开发。其轻量级特性和完整的功能集,为开发者提供了SpringBoot之外的另一种选择。

Martian框架教学文档 一、框架概述 Martian是一个声明式API编程(DAP)的Java开发框架,专为中小型项目设计,相比SpringBoot更加轻量级。 核心特点 使用HttpServer作为HTTP服务,彻底脱离Tomcat等Web容器和Servlet规范 减少项目依赖数量 声明式API设计,将Controller转变为interface 提供AOP、IOC、声明式事务、异常监听等核心功能 集成自主开发的半ORM持久层框架 二、快速开始 1. 声明式API开发 2. 传统Controller写法 框架也支持传统的Controller写法,兼容已有开发习惯。 三、核心功能详解 1. 单表增删改查(无SQL) 2. 参数校验 在VO/DTO字段上添加注解即可完成校验: 校验失败时会自动返回JSON格式的错误信息。 3. 异常处理 框架提供自动异常处理机制: 无需在每个方法中编写try-catch块 出现异常时自动返回标准JSON错误响应 4. 分布式锁 通过注解轻松实现分布式锁: 四、高级特性 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之外的另一种选择。