zoukankan      html  css  js  c++  java
  • 又一个小而美的Java Web框架: Solon!

    Solon 是Java世界里一个新的极易上手的Web框架。参考过 Javalin 、 Spring 等很多现有框架的设计。

    取名自海贼王里的角色,说是希能像他一样能打

    • 小。真的是小。最小的运行单位只有 0.1m。就算有模板、jdbc、日志放进去。。。估计3-5m就搞定了
    • 性能好。Hello world 的qps测试下,基本比 Srping boot 的高近1倍左右
    • 简单便捷。基本和Spring mvc 的体验接近,入手快。

    官方支持的jdk版本为:8.0 - 15。已发布的基本都支持......

    @XController
    public 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();
      }
    })
    
    //多数据源的配置(配置可以注入,也可以直接取)
    //
    @XConfiguration
    public 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程序员,还从来没有用过Spring以外的WEB框架,或许你可以试试Solon!

  • 相关阅读:
    洛谷 P1045 【麦森数】快速幂
    洛谷 P4838 P哥破解密码 题解
    洛谷 P1609 最小回文数 题解
    洛谷 P4910 帕秋莉的手环 矩阵乘法+快速幂详解
    [SDOI2010]外星千足虫 题解 高斯消元+bitset简介
    UVA1386 【Cellular Automaton】题解
    JavaScript基础(.....持续待更)
    网页布局基础
    css浮动--float/clear通俗讲解(转载)
    css基础
  • 原文地址:https://www.cnblogs.com/noear/p/13453286.html
Copyright © 2011-2022 走看看