发布时间:2025-12-11 00:10:34 浏览次数:14
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
只需要在你的interface上加上一个注解,即可对外提供一个接口,并且我们还支持传统的Controller写法
@MarsApi(refBean="要引用的bean的name")publicinterfaceTestApi{返回类型selectList(TestDTOtestDTO);}//根据主键查询一条数据@MarsGet(tableName="userinfo",primaryKey="id")publicabstract要返回的实体类selectById(intid);//单表新增@MarsUpdate(tableName="userinfo",operType=OperType.insert)publicabstractintinsert(实体对象参数);//单表根据主键删除@MarsUpdate(tableName="userinfo",operType=OperType.delete,primaryKey="id")publicabstractintdelete(intid);//单表根据主键修改@MarsUpdate(tableName="userinfo",operType=OperType.update,primaryKey="id")publicabstractintupdate(实体对象参数);
在API接口的参数对象里的字段上加上一个注解即可(VO的字段上加注解)
//不可为空,且长度在2-3位@MarsDataCheck(notNull=true,maxLength=3L,minLength=2L,msg="id不可为空且长度必须在2-3位之间")privateIntegerid;//正则校验@MarsDataCheck(reg="^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,12}$",msg="密码不可以为空且必须是6-12位数字字母组合")privateStringpassword;前端如何得到提示?
正常请求API就好了,如果校验不通过会得到这样一个json
{"error_code":1128,"error_info":"提示文字"}通常我们在写代码的时候,需要给每个Controller的方法加上try{}catch(){},用来在异常的时候,能够正常的返回 json串
spring是有一个叫ExecptionHandler 来解决这个问题,而Martion也提供了对应的解决方案
解决方案就是什么都不用管,如果出了异常,会自动给前端返回如下json串
{"error_code":500,"error_info":"异常提示"}在要加锁的方法上添加RedisLock注解
@RedisLock(key="自己定义一个key")publicintinsert(){return1;}看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注本站行业资讯频道,感谢您对本站的支持。