项目简介

Martian 是一个声明式API编程 (DAP) 的Java开发框架

  • 以HttpServer作为 http服务,彻底脱离Tomcat这一类的Web容器和Servlet,同时也让项目减少了几个依赖
  • 声明式API,让Controller变成了一个interface,降低了开发的工作量
  • 拥有其他web框架 拥有的大部分功能,比如AOP,IOC,声明式事务,异常监听等
  • 拥有自主开发的 半ORM持久层框架,并天然的集成到了Martian中
  • 如果你不喜欢HttpServer,我们也提供了Tomcat启动器

项目生态

  • 【分布式组件】Martian-cloud
  • 【网关及其他组件】Martian-gateway
  • 【更多组件】筹划中

官方文档

http://mars-framework.com/doc.html?tag=martian

使用示例

https://github.com/yuyenews/Mars-Example

项目特性

一、声明式API

只需要在你的interface上加上一个注解,即可对外提供一个接口,并且我们还支持传统的Controller写法

@MarsApi

二、单表增删改查无sql

// 根据主键查询一条数据

三、参数校验只需一个注解

在API接口的参数对象里的字段上加上一个注解即可(VO的字段上加注解)

// 不可为空,且长度在2-3位

前端如何得到提示?

正常请求API就好了,如果校验不通过会得到这样一个json

{

四、异常监听器

通常我们在写代码的时候,需要给每个Controller的方法加上try{}catch(){},用来在异常的时候,能够正常的返回 json串

spring是有一个叫ExecptionHandler 来解决这个问题,而Martion也提供了对应的解决方案

解决方案就是什么都不用管,如果出了异常,会自动给前端返回如下json串

{

五、一行注解,解决分布式锁

在要加锁的方法上添加RedisLock注解

@RedisLock

官方网站

Martian​mars-framework.com

主键id 请求参数用什么类型_中小型项目用SpringBoot太大了,不如尝试下Martian相关推荐

  1. Mysql插入数据并返回其主键id

    1.背景 将数据插入到数据库中,并返回其主键id 2.思考 在插入的SQL语句里执行查询主键SQL语句 3.解决方案 <insert id="insertAndselectLastIn ...

  2. Oracle使用序列触发器实现主键id自动增长

    记录一下oracle中的字段自增问题 在mysql中我们可以使用auto_increment来实现自动增长功能 而在oracle主键没有自动增长类型,所以一般使用序列产生的值作为某张表的主键,实现主键 ...

  3. MySQL库表主键ID耗尽了,如何处理?

    大家好,我是后端研究所大白所长! 今天和大家聊一个有趣的话题: 假如MySQL建表时主键ID是int32且自增的,谁也没想到业务发展这么快,今天忽然发现ID耗尽了,各种报警要炸锅了,请求作为后端own ...

  4. mybatis添加记录时返回主键id

    参考:mybatis添加记录时返回主键id 场景 有些时候我们在添加记录成功后希望能直接获取到该记录的主键id值,而不需要再执行一次查询操作. 在使用mybatis作为ORM组件时,可以很方便地达到这 ...

  5. MyBatis——insert并返回主键ID解决方案

    问题描述 添加记录后获取主键ID,这是一个很常见的需求,特别是在一次前端调用中需要插入多个表的场景. 除了添加单条记录时获取主键值,有时候可能需要获取批量添加记录时各记录的主键值. 问题分析 暂无. ...

  6. java id主键_JAVA主键ID生成工具类:改自twitter的分布式ID算法snowflake

    祝大家新年快乐,有任何问题可与我联系: 关于snowflake算法的介绍和原理这里不过多说明了,网上有很多. 这里简单描述下SnowflakeUtil的优点: 1.做为底层工具使用,可用于数据库主键. ...

  7. mybatis多表新增如何获取主键ID

    记录一下碰到的问题,就当做是笔记吧,防止忘记.在做ssm多表新增的时候,碰到了一个小问题,就是在新增成功一个表的时候我要获取它的ID,然后用它的ID新增下一个表. 但是,我要怎么做呢?新增成功,再查询 ...

  8. mybatis插入数据后返回自增主键ID详解

    1.场景介绍: ​ 开发过程中我们经常性的会用到许多的中间表,用于数据之间的对应和关联.这个时候我们关联最多的就是ID,我们在一张表中插入数据后级联增加到关联表中.我们熟知的mybatis在插入数据后 ...

  9. Mybatis 插入数据后返回自增主键ID

    1 xml 映射文件中处理 在映射器中配置获取记录主键值 在xml中 insert 标签中定义 : useGeneratedKeys为true,用来设置返回主键id的值, keyProperty 代表 ...

最新文章

  1. p2p項目”復活“之想
  2. 建立数据库时连接出错_PHP的福音!支持多数据库连接,高性能的开源MySQL连接池...
  3. 最应该看的一本人工智能理论的书-神经网络于深度学习-目录
  4. CAN 总线 之一 总线拓扑、物理电平、发展史 详解
  5. 在原生js中的事件监听方法
  6. java 中violate_Java中的volatile关键字及Cache更新
  7. k8s初始化集群后kubectl get nodes错误
  8. python random
  9. 你的IE一路顺风吗?
  10. 稳压二极管真的可以稳压吗?
  11. python实现高级计算器_Python实现的复杂的计算器的代码
  12. 如何在虚拟机VMware安装配置功能强大爱快软路由
  13. 可以提高DeepFaceLab(DeepFake)合成最终视频速度的方法
  14. 详解 torch.max 函数
  15. MATLAB 学习笔记(6)MATLAB 的 upsample 函数和 downsample 函数
  16. openresty ngx_lua获取环境变量
  17. 嗨格式Heic图片转换器v1.0.13.1436官方版
  18. 每个人都逃脱不了「认知三原色」
  19. Java中List集合的addAll方法的小坑
  20. 四应变片悬臂梁 计算要点

热门文章

  1. ADO.net中常用的对象介绍
  2. VBA学习笔记(一):自动添加代码VBA修改注册表
  3. vue中的nextTick
  4. android登录窗口——基础编
  5. 爬取58二手数据.py
  6. Qt之自定义界面(窗体缩放)
  7. 运行测试Caused by: java.lang.UnsatisfiedLinkError: no attach in java.library.path错误解决
  8. 华为NIP网络***检测系统
  9. Computer Browser服务不能启动
  10. Windows权限设置详解