Solon 是JAVA世界里一个新的极易上手的Web框架 。参考过 Javalin 、 Spring 等很多现有框架的设计 。
取名自海贼王里的角色,说是希望能像他一样能打
- 小 。真的是小 。最小的运行单位只有 0.1m 。就算有模板、jdbc、日志放进去 。。。估计3-5m就搞定了
- 性能好 。Hello world 的qps测试下,基本比 Spring boot 的高近1倍左右
- 简单便捷 。基本和Spring mvc 的体验接近,入手快 。
@XControllerpublic class HelloworldApp {public static void main(String[] args) {XApp.start(HelloworldApp.class, args);}@XMapping("/")public String helloworld(){return "Hello world!";}}
是不是很熟悉的感觉?和Springboot mvc体验很像 。public class HelloworldApp {public static void main(String[] args) {XApp app = XApp.start(HelloworldApp.class, args);var map = new HashMap<String, Integer>();map.put("val1", 1);map.put("val2", 2);app.get("/", ctx -> ctx.output("Hello World"));app.get("/json/map", ctx -> ctx.render(map));app.after("**",ctx -> {System.out.println("log::");System.out.println(ctx.attr("output", ""));});}}
是不是非常简单的感觉 。以上两种可以混用的 。。。尤其是要加一个拦截器,真的方便 。再放点代码://启动参数加-debug=1,打印所有异常//app.onError((ctx, err)->{if(XApp.cfg().isDebugMode()){err.printStackTrace();}})
//多数据源的配置(配置可以注入,也可以直接取)//@XConfigurationpublic class Config {@XBean("db1")public DbContext db1(@XInject("${test.db1}") HikariDataSource dataSource) {String schema = XApp.cfg().get("test.db1.schema");return new DbContext(schema, dataSource);}@XBean("db2")public DbContext db2(@XInject("${test.db2}") HikariDataSource dataSource) {String schema = XApp.cfg().get("test.db2.schema");return new DbContext(schema, dataSource);}}
【又一个小而美的Java Web框架:Solon】如果你是个Java程序员,还从来没有用过Spring-web以外的WEB框架,或许你可以试试Solon!推荐阅读
- 皇太极为什么娶了一个又一个 皇太极的后妃
- 地球是完美的圆形吗 地球是完美的球体吗
- 减肥塑身运动有什么
- 哪些运动最减肥呢?
- 如何运动快速减肥呢?
- 健美少不了牛肉
- 北京恒大城 三国最美的女人是甄宓
- 以牙黑为美的民族 染黑牙齿的民族
- 怎么才能练出完美的胸肌?
- 美的空调显示f0是什么意思?家用空调显示f0是什么意思?