{"repo":"wujun728/jun_lowcode","free":true,"listed":false,"github":"https://github.com/wujun728/jun_lowcode","clone":"git clone https://github.com/wujun728/jun_lowcode.git","description":"jun_amis_lowcode是基于百度amis前端低代码框架+后端SpringBoot在线接口开发平台(jun_api_online)构建的低代码开发框架。其可使用JSON 配置来生成页面（不仅仅是表单引擎），使用动态mapping及动态生成bean的方式执行SQL脚本及JVM脚本来动态生成接口。","language":"JavaScript","stars":18,"topics":["spring-mvc","mybatis","spring","spring-email","thymeleaf","shiro","springboot","spring-boot","java","jpa"],"license":null,"category":"databases-storage","readme_excerpt":"jun api service jun springboot api service是一个基于我另外一个自定义的starter的动态API框架。项目本身使用技术有 SpringBoot+字节码生成执行+动态脚本+动态SQL ， 可以实时动态生成RESTAPI并动态发布或者热加载 。且发布后 可动态执行java源码、groovy脚本及SQL脚本的API服务项目 。提供在线执行动态程序脚热加载本及动态生成API并执行的功能。支持动态注册RequestMapping，动态生成类及源码并动态编译生成类并注入Spring容器生成Bean，可动态生成HTTP接口。支持在线编辑写好SQL或者Java源码、Groovy源码、Python源码（TODO），JavaScript源码（TODO）、Shell脚本，后即可快速生成Rest接口对外提供服务，同时支持服务在线热加载在线编辑替换逻辑，提供了一键生成CRUD通用接口方法，减少通用接口的SQL编写，让开发人员专注更复杂的业务逻辑实现。 说明：目前没有前端页面，都是Postman调用生成的，准备适当新增部分前端页面功能。 - 常规写项目的逻辑，硬编码MVC三层代码提供REST服务，每次调试及编码修改后重启JVM，上线后有Bug，换包重启JVM才能修复Bug。 - 针对以上，有痛点三，1、硬编码；2、重启JVM；3、换包；4、快速开发快速迭代； 本项目如何解决以上三点： - 解决痛点1，本项目在线执行动态Java源码程序热加载及动态生成API并执行的功能。支持动态注册RequestMapping，动态生成类及源码并动态编译生成类嵌入Spring容器生成Bean，可动态生成HTTP接口。 - 解决痛点2，无需重启JVM，根据源码生成的字节码在自定义Classloader工厂里面加载(类加载后其实卸载不了，但是类的加载器是可以卸载的)，外加ScriptEngine可动态执行Groovy脚本及JavaScript等等类型的脚本 - 解决痛点3，无需换包，源码直接存在数据库中，可动态热加载到JVM，随时编辑，随时生效； - 解决痛点4，新增API+SQL模式，写一个path路径，写一条SQL，自动生成一个API，秒实现需求（可执行多条SQL，非复杂功能无需代码实现）。 特征&提供 1、可在线写Java、编译Java源码生成字节码、生成对象、动态注册Bean实例； 2、可动态生成RequestMapping的Restfull接口； 3、可动态加载Groovy脚本源码、解析并执行Groovy源码； 4、支持Mybatis的XML的SQL解析，支持各种标签的SQL的解析； 5、无需硬编码，可实现任何硬编码实现的功能（在Jar包依赖范围内）； 6、动态生成代码(基于Freemarker的String模板生成StringWriter)，一键生成CRUD的代码及SQL接口，普通通用逻辑不用写代码； 7、如果这个项目对你有用，不妨Star一下；（没有性能问题，编译后的源码还是字节码） 说明：本项目jun springboot api service依赖本人自定义starter(jun-groovy-api-spring-boot-starter)才能运行，Starter已发布中央仓库，另源码starter也已开源。 The project is based on SpringBoot+Groovy to dynamically generate APIs and publish them, and can dynamically execu","default_branch":null,"files":null,"tree":[],"storefront":"/r/wujun728","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/wujun728/jun_lowcode/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}