背景
- 由于工作内容的关系,之前一直使用jdk8,没有升级到更高版本。对新特性也只是粗略的看过一眼,没有深入探究过。
- 最近由于某些原因,需要做一个自带运行环境的程序。由于各种原因,选定了java和python作为备选语言,但是java由于jre的臃肿(100M+)以及spring boot的日渐臃肿(helloworld 15M),需要在这两方面进行size的缩减。
一、框架选型
- spring boot写一个helloworld项目居然已经达到了15M,虽然写代码是方便了但是size确实是有点大了,而且还没有添加orm框架之类的必备框架。
初识 solon
-
在百度搜索 "java 开发框架 轻量" 等关键词,找到2个看起来比较不错的框架备选:solon jfinal
- 官方介绍是:
支持jdk8+;主框架0.1mb;组合不同的插件应对不同需求;方便定制;快速开发。
0.1M ,好像有点意思,继续了解
进一步了解后,发现2个框架都是国人开发的,相对来说 jfinal的关注度、文档完成度、qq群人数都超过solon,但是solon的更新非常活跃。
两边QQ群都提交了入群申请,solon群很快就加上了。群里只有100多号人。
-
DEMO搭建
进群先拜码头,然后提出了自己的需求(jar包要小)。群里各路大神都很热情的告诉我,要精简,选solon就对了,因为作者是个一行代码都舍不得多放的人。
群主和热心的群员们甚至帮我推荐了各种工具及demo。
-
在大家的热心帮助下,我很快完成了我的demo环境搭建:
solon(core) solon-api(http服务支持) + weed3(orm框架) +jlhttp(服务容器) +h2(嵌入式数据库)
写了增删改查接口进行测试,压缩包4.2M(后续在群主的帮助下,剔除了yml支持,再次缩减到3.9M)
-
尝试写了一些简单的增删改查api,对spring工程师还是很友好的,某些封装甚至比spring boot还要更符合个人习惯
- 群主以一己之力完成了整个框架 以及整个生态的开发,太了不起了,膜拜。
- 这些组件基本上已经足够基础使用了。
- 至此,java框架选型告一段落。
solon传送门 :https://gitee.com/noear/solon/