跳到主要内容

入门

ActiveJ是一个极简的、无锅炉板的Java平台,旨在取代Spring、Spark、Micronaut和 其他类似的解决方案。 它具有丰富的技术栈,具有高效的异步编程模型和强大的DI库 ActiveJ Inject

ActiveJ由几个松散耦合的组件组成,它们相互补充,相互授权:异步核心、高效的I/O处理、 高性能的Jetty和Netty替代品,以及方便的启动工具。

在本教程中,我们将创建一个简单的HTTP服务器,发送一个 "Hello World!"的问候语。 通过ActiveJ Launchers,特别是 HttpServerLauncher 子类,以及ActiveJ Inject DI,你可以在10行左右的代码中 写一个功能齐全的服务器。

你将需要什么。#

将使用哪些ActiveJ技术。#

要继续学习本指南,你有三个选择。#

从Maven Archetype创建#

只需在终端输入以下命令。

mvn archetype:generate -DarchetypeGroupId=io.activej -DarchetypeArtifactId=archetype-http -DarchetypeVersion=5.0-beta2

该项目将在你的机器上自动生成。 打开 WebApp ,运行其 main 方法。 然后 ,打开你喜欢的浏览器,进入 localhost:8080

工作实例#

在本地克隆ActiveJ ,并将其导入为Maven项目。 查阅分支机构。 在运行这个例子之前,构建项目(Ctrl F9 for IntelliJ IDEA)。

然后打开 HttpHelloWorldExample 类,该类位于 activej/examples/tutorials/getting-started 并运行其 main 方法。 打开你喜欢的浏览器,进入 localhost:8080

分步指南#

1. 配置该项目#

首先,为应用程序创建一个文件夹并建立一个适当的项目结构。

getting-started└── pom.xml└── src    └── main        └── java            └── HttpHelloWorldExample.java

接下来,你需要在你的项目中整合ActiveJ。 有 ,有两种 的方式来做。 第一个 选项是在你的项目中添加 Maven依赖性。 只需按以下方式配置你的 pom.xml 文件。

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  <modelVersion>4.0.0</modelVersion>
  <groupId>io.activej</groupId>  <artifactId>tutorial-getting-started</artifactId>  <version>5.0-SNAPSHOT</version>
  <name>Tutorials : Getting-Started</name>
  <properties>    <maven.compiler.source>1.8</maven.compiler.source>    <maven.compiler.target>1.8</maven.compiler.target>  </properties>
  <dependencies>    <dependency>      <groupId>io.activej</groupId>      <artifactId>activej-launchers-http</artifactId>      <version>${project.version}</version>    </dependency>    <dependency>      <groupId>ch.qos.logback</groupId>      <artifactId>logback-classic</artifactId>      <version>1.2.3</version>    </dependency>  </dependencies></project>

第二种 ,从GitHub上克隆ActiveJ ,将其导入Maven 项目,检出分支 v5.0-beta2 ,在项目目录下运行以下脚本。

./install.sh

接下来,像上面的例子一样配置你的 pom.xml 文件。 确保你的项目SDK被设置为1.8。

2. 编写 HttpHelloWorldExample class#

在你以建议的方式之一将ActiveJ集成到你的项目中后,写下以下代码: HttpHelloWorldExample.java

public final class HttpHelloWorldExample extends HttpServerLauncher {  @Provides  AsyncServlet servlet() {    return request -> HttpResponse.ok200().withPlainText("Hello World");  }
  public static void main(String[] args) throws Exception {    Launcher launcher = new HttpHelloWorldExample();    launcher.launch(args);  }}

首先,我们从 HttpServerLauncher 扩展 HttpHelloWorldExample ,以管理应用程序的生命周期。 在这个例子中,关于超类唯一重要的事情是它实现了 launch 方法,以启动我们的服务器。

接下来,我们提供了一个 AsyncServlet ,它从客户端接收 HttpRequest,创建 HttpResponse,并将其发送。 @Provides 注释意味着此方法可作为根HTTP端点监听器进行绑定。

为了定义对收到的请求的处理,我们用一个lambda覆盖了 AsyncServlet.serve 方法。 我们创建一个 HttpResponse 的承诺,代码为 200 和 "Hello World!"正文。 ActiveJ是完全异步的,所以我们的HTTP Servlets也是异步的。 一个简单的 HttpResponse ,可以用一个 PromiseHttpResponse 来代替,使其成为异步的。

最后,我们定义 main 方法,用 launch 方法启动我们的服务器。 这个方法注入依赖性,开始 ,运行应用程序,并在需要时停止它。

3. 运行该应用程序#

现在,让我们测试一下这个应用程序。 首先,运行 HttpHelloWorldExample.main,然后打开你喜欢的浏览器,进入 localhost:8080 你将收到一个 Hello World! 消息,该消息由服务器处理。 恭喜你,你刚刚创建了你的第一个 ActiveJ应用程序。

下一步是什么?#

为了使ActiveJ对开发者更加友好,我们已经创建了几十个不同规模的教程和例子, ,代表了该平台的大部分功能。 点击 "下一步",进入下一个教程。 你也可以先探索ActiveJ docs