尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
【开源】低代码后端API框架,让SpringBoot开发效率激增,低代码内核,所有代码只写1次
大家好欢迎来到停止重构的频道。本期介绍我们的新后端框架Once2一个能让所有后端代码只写1次更看重项目过程、工程质量的框架。我们按这样的顺序展开介绍1、模块、业务分离2、Once只是一种规则3、工作原理4、设计愿景模块、业务分离首先介绍最主要的模块、业务分离。从宏观上讲后端应用程序是多个请求接口的集合而对于单个接口而言是执行多个步骤。基于这样的观点Once将代码分离了两层模块代码、业务代码模块代码是需要写Java代码实现具体功能的。只需要关心通用功能的实现例如文件上传、参数检查、数据库操作等。业务代码指的是具体的后端接口。只需要关心业务功能的实现步骤也就是对模块使用顺序进行编排而不需要关心具体功能如何实现。模块部分每个模块完全独立且具有统一的使用方式。模块可以单独运行调试复制粘贴文件夹即可无条件复用或替换升级。Once也提供了模块库可以一键下载更新模块。例如检查参数、上传文件、数据库操作等模块。后续也会持续扩展模块池。这里顺便提一下大家比较关心的数据库模块。数据库模块不需要配置数据表entity它会在工程启动时自动获取生成。数据操作上也更加简洁。业务部分由于每个后端接口只是对模块使用顺序进行编排。所以这部分不需要写代码只需要通过Json配置即可。这样能免去冗余代码的编写。工程运行时Json配置会自动生成真正的Java代码。Once只是一种规则Once只是一种规则实质上是一个SpringBoot3工程。发生的错误都可以以SpringBoot工程的视角进行排查。Once只是在SpringBoot工程的基础上做了2件事情。一是规整化代码结构将代码分离为业务代码、模块代码、通用代码。规范了模块调用、日志、错误码等等。二是加入代码生成器Christmas用于生成拼接代码。例如将业务代码从Json配置生成为真正的Java代码从模块库下载模块更新框架等。工作原理接下来是工作原理为了实现以上模块代码、业务代码分离Once架构加入了数据。池数据池可以看作是一个接口中的全局变量所有模块都可以对其进行添加、删除数据。​具体工作原理为在接口逻辑开始时会将请求参数及其他重要对象存放在数据池中。调用模块时需要设置模块参数以及将数据池传递给模块。模块按模块参数执行任务时可从数据池获取数据或对数据池数据进行修改。模块执行任务完毕后检查模块是否报错不报错继续下一步否则中断逻辑返回客户端。这里的报错返回只是默认行为。可以添加逻辑选择器以实现更加复杂的逻辑如发生错误重试、发生错误启动异常逻辑等。接口返回时自动将数据池中用于记录返回数据的部分转换为Json字符串并返回客户端。设计愿景Once与其他技术框架的侧重点是不一样的。我们更关心项目过程、工程质量我们是按一个团队的视角进行设计的。主要是针对中大型项目更看重整体成本、运维/迭代难度。Once可以缩减代码、提升代码复用度但这并不是Once的唯一目的。我们更希望通过模块积累降低新项目成本希望团队能更合理地分工人员流动不会对项目造成影响。模块代码开发是需要有一定后端开发经验的程序员才能胜任的我们希望这些工作能独立开来。一方面模块可以单独调试开发且无条件复用在别的项目。另一方面由于项目进度等原因某些模块可能是临时开发或者存在缺陷的以后可以单独替换这些模块。业务代码由于使用Json配置替代了编码且无需了解实际模块的运行原理。所以业务代码可以交由经验尚浅或者其他领域的程序员完成。这样做除了能加快开发效率更重要的是可以约束业务代码编写让业务逻辑更加清晰明了。避免每次排查BUG时都需要先花很长时间理解逻辑然后再逐一排查。总结最后Once2已经放在了GitHub、Gitee。我们也提供了完整的使用文档。感兴趣的小伙伴可以尝试一下点个Star就更好了。以后我们会不断推出新模块丰富模块池。当模块池和用户量到达一定规模后将继续推出图形编辑界面进一步推动低代码平台。
RELATED

相关推荐

Calibre 电子书格式转换完整实用指南

Calibre 电子书格式转换完整实用指南

Calibre 电子书格式转换完整实用指南 【免费下载链接】calibre The official source code repository for the calibre ebook manager 项目地址: https://gitcode.com/GitHub_Trending/ca/calibre Kindle 打不开的 EPUB 是不是让你抓狂?手机上的 MOBI 文件又…

📅 2026/10/7 23:52:04
Oracle自定义排序实战:DECODE、INSTR与CASE WHEN方案详解

Oracle自定义排序实战:DECODE、INSTR与CASE WHEN方案详解

1. 项目概述:当标准排序规则失效时在数据库开发中,排序是再基础不过的操作。我们习惯了ORDER BY column_name ASC/DESC,让数据按照字母顺序、数值大小或日期先后整齐排列。但总有一些业务场景,会让这个简单的ORDER BY变得束手无策…

📅 2026/10/6 12:55:31
七夕趣味网页开发:用HTML/CSS/JS打造单身狗专属互动页面

七夕趣味网页开发:用HTML/CSS/JS打造单身狗专属互动页面

1. 项目概述:当HTML遇上“倔强”的七夕又到一年七夕时,朋友圈里满屏的鲜花、礼物和甜蜜合影,空气中仿佛都弥漫着恋爱的“酸臭味”。作为一名常年与代码为伴的开发者,或者只是一个想在节日里找点乐子的普通人,你是否也想…

📅 2026/10/9 7:40:13
MORE NEWS

更多资讯

📰

Cursor智能编程助手的MCP工具配置与开发指南

1. Cursor中的MCP工具概述 Cursor作为一款智能编程助手,内置了强大的MCP(Model Context Protocol)工具支持系统。MCP是一种协议规范,允许Cursor与外部服务进行标准化交互。理解Cursor中的MCP工具体系对于充分发挥其潜力至关重要。…

📰

ORM实战避坑指南:从实体映射到事务处理的完整案例

简介:这份资源面向具备一定Python与深度学习基础、希望上手时间序列预测的开发者,以Autoformer模型为核心,围绕股票价格预测场景组织了一套可运行的实战代码。压缩包共94个文件,约8.1MB,以py源码与pyc缓存为主&#xf…

📰

网络安全入门指南:从基础到护网行动实战

1. 项目概述作为一名在网络安全领域摸爬滚打多年的从业者,我经常收到大学生朋友们的咨询:"想学网络安全该从哪里入手?""护网行动到底是什么?怎么参与?"今天我就结合自己从学生时代到职业发展的完整…

📰

Socket通信与Apache调优:运维工程师必备网络知识

1. 网络通信基石:Socket核心理论深度解析作为云计算运维工程师,我们每天都在和各种网络服务打交道。但如果你只停留在"安装配置"层面,遇到端口冲突、连接超时、性能瓶颈等问题时就会束手无策。理解Socket底层原理,就像医…

📰

Anaconda误删恢复与数据保护指南

1. 误删Anaconda后的紧急处理流程当你不小心删除了Anaconda时,第一时间采取正确的应对措施至关重要。作为一名长期使用Python进行数据分析的从业者,我经历过多次类似情况,总结出这套行之有效的恢复方案。首先需要明确的是,Anacond…

📰

Python Cookbook 300+配方精讲:抽象类、排序与工程实践

简介:《Python Cookbook: Everyone can cook delicious recipes 300》是Hernando Abella撰写、Aluna Publishing House于2024年出版的Python进阶参考读物,面向已掌握基础语法、希望系统提升编程能力的中级开发者与自学者。全书以300余个实用示例为线索&a…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬