比SpringBoot更简单的Web框架:Espresso


这是一个新的有趣的Java工具,今天,我们有一个Java核心Web抽象,名为Espresso,它渴望成为现代Java Web应用程序的灵魂!
Espresso的创建者Ning Sun认为,Servlet API过时,繁重,冗长,尽管Spring Boot改进了Java开发,但像Python的WSGI这样的简单抽象仍然是首选。
这就是Espresso创作背后的主要动力!

Espresso的灵感来自Clojure的  Ring  和Rust's  Iron  ,并附有三个支持它的微库,即:

  • Jettino:  Jetty的espresso适配器,espresso 俗称浓缩咖啡
  • Latte:  Espresso的URL路由器,俗称拿铁
  • Sugar: 参数提取器,俗称汤

浓缩咖啡espresso生态系统的关键概念包括:
  • App: Espresso功能实现。
  • 服务器:运行espresso功能的容器。
  • 适配器:现有Java Web服务器的适配器层,用于运行espresso功能。
  • 插件或中间件: espresso函数包装器,为核心espresso功能提供附加功能或数据。

这就是带有浓缩咖啡espresso的“hello world”Web应用程序的样子:

import io.github.espresso4j.espresso.*;
import io.github.espresso4j.jettino.Jettino;
 
public class App {
 
    public static void main(String[] args) throws Exception {
        new Jettino().start((req) -> Response.of(200).body("It works."));
    }
 
}

可以在这里找到一个可以运行  的简单演示gradle run。
还可以找到Maven central上发布的库。