All projects
PROJECT 01 / JAVA WEB FRAMEWORK

Aero.

Small core. Room to build.

TYPEOpen-source framework
LANGUAGEJava
COREDI · MVC · ORM
RUNTIMEEmbedded Tomcat
THE IDEA

What happens behind the annotations?

写下一个 @Controller 之后,请求是如何抵达方法的?一个接口为什么能完成数据库查询?Aero 将这些问题变成了可读、可追踪的代码。

项目围绕 Java Web 应用的几条核心路径展开:对象如何被管理,请求如何被分发,数据如何被映射,以及新能力如何接入。它提供熟悉的注解式开发方式,同时把实现机制留在视野之内。

UNDER THE HOOD / INTERACTIVE

Follow a request.

从一次 HTTP 请求,看见框架里的协作。点击运行,逐步查看处理过程。

  1. 01RequestGET /demo/hello
  2. 02TomcatHTTP → Servlet
  3. 03Router@GetMapping
  4. 04Controllerhello()
  5. 05Response200 OK
↳

Ready when you are. 发起一次请求试试。

SIMULATION
FOUR PIECES, ONE FRAMEWORK

Under the hood

01

Dependency injection

把对象的获取与依赖装配收进容器。通过注解组织组件,让应用代码围绕职责协作。

Annotations / Reflection / ContainerRead the code
02

HTTP & routing

在内嵌 Tomcat 上承接 HTTP 请求,通过路由映射找到 Controller 方法,把 Web 层接入应用。

Tomcat / Servlet / MVCRead the code
03

Data mapping

通过动态代理处理 Repository 接口调用,解析查询注解与参数,衔接实体、SQL 和返回结果。

Dynamic proxy / JDBC / ORMRead the code
04

Modular by design

统一的 Module 接口让 Servlet、ORM 与自定义模块在应用初始化时接入,保持核心与扩展之间清晰的边界。

Lifecycle / Extension / SeparationRead the code
FAMILIAR ON THE SURFACE

A small hello.

声明路由、返回响应。简单的开发接口背后,是容器、路由和 Servlet 的协作。

See the quick start
HelloController.java
@Controller("/demo")
public class HelloController {

    @GetMapping("/hello")
    public ResponseEntity hello() {
        return ResponseEntity.ok("Hello Aero");
    }
}
项目说明依据 Aero 的公开文档与代码整理。Explore the repository