Solon 1.2 发布后,取消了X类名前缀。故对此文做些调整。
Solon 是Java世界里一个新的极易上手的Java开发框架。参考过 Javalin 、 Spring boot 等很多现有框架的设计。
取名自海贼王里的角色“索隆”,说是希望能像他一样能打
小。真的是小。最小的Http运行单位只有 0.1m。就算有模板、jdbc、日志放进去。。。估计2m-5m就搞定了
性能好。Hello world 的qps测试下,基本比 Spring boot 的高近1倍左右
简单便捷。基本和Spring mvc 的体验接近,入手快。
官方支持的jdk版本为:8.0 - 15。已发布的基本都支持......
@Controller public class HelloworldApp { public static void main(String[] args) { Solon.start(HelloworldApp.class, args); } @Mapping("http://www.likecs.com/") public String helloworld(){ return "Hello world!"; } }是不是很熟悉的感觉?和Spring boot mvc体验很像。
public class HelloworldApp { public static void main(String[] args) { SolonApp app = Solon.start(HelloworldApp.class, args); var map = new HashMap<String, Integer>(); map.put("val1", 1); map.put("val2", 2); app.get("http://www.likecs.com/", 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((err)->{ if(Solon.cfg().isDebugMode()){ err.printStackTrace(); } }) //多数据源的配置(配置可以注入,也可以直接取) // @Configuration public class Config { @Bean("db1") public DataSource db1(@Inject("${test.db1}") HikariDataSource dataSource) { return dataSource; } @Bean("db2") public DataSource db2(@Inject("${test.db2}") HikariDataSource dataSource) { return dataSource; } }如果你是个Java程序员,还从来没有用过Spring-web以外的WEB框架,或许你可以试试Solon!
附:Solon项目地址Gitee: https://gitee.com/noear/solon
Github: https://github.com/noear/solon