最近遇到一个情况,需要修改数据库里的一些数据,这些数据是用 json 形式保存的,要给某些 key 对应的 value+1.如果用 sql 写会很复杂,如果能用 java 写好程序触发一下拿到结果就好了,但是这样做要发布到正式环境,调试也是非常不方便,每次发布要等好久。
于是想到用户 java 的自定义类加载器和 springboot 的 bean 动态加载结合起来,提供一个页面,在本地写好代码,copy 到页面上,点击运行就可以生效。有复杂的导出表格需求也可以实现。(明明当初做管理端的时候弄了那么多数据统计功能,结果还是不能满足业务线的需求)
大概流程是:点击运行后,把输入的代码变成文件流喂给类加载器,加载新定义的类,然后再加载到 spring 的 bean 容器里面,触发一下这个 bean 的运行,拿到结果返回给页面(有点像在线面试题的感觉)。
具体细节感觉还是有很多优化的点,想问下有没有类似的现成的工具?最好能和 springboot 结合起来,毕竟复杂逻辑还是要依靠已存在的一些 bean 。(如果没有的话就尝试糊一个好了 2333 )
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.