入门
ActiveJ是一个极简的、无锅炉板的Java平台,旨在取代Spring、Spark、Micronaut和 其他类似的解决方案。 它具有丰富的技术栈,具有高效的异步编程模型和强大的DI库 ActiveJ Inject。
ActiveJ由几个松散耦合的组件组成,它们相互补充,相互授权:异步核心、高效的I/O处理、 高性能的Jetty和Netty替代品,以及方便的启动工具。
在本教程中,我们将创建一个简单的HTTP服务器,发送一个 "Hello World!"的问候语。 通过ActiveJ Launchers,特别是 HttpServerLauncher
子类,以及ActiveJ Inject DI,你可以在10行左右的代码中 写一个功能齐全的服务器。
你将需要什么。
将使用哪些ActiveJ技术。
- 积极参与J
- ActiveJ Inject
要继续学习本指南,你有三个选择。
- 从Maven 原型创建应用程序
- 下载并运行 工作实例
- 按照 ,一步一步地进行指导
从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.3-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.6</version> </dependency> </dependencies></project>
第二种 ,从GitHub上克隆ActiveJ ,将其导入Maven 项目,检出分支 v5.3 ,在项目目录下运行以下脚本。
./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 ,可以用一个 Promise 的 HttpResponse 来代替,使其成为异步的。
最后,我们定义 main 方法,用 launch 方法启动我们的服务器。 这个方法注入依赖性,开始 ,运行应用程序,并在需要时停止它。
3. 运行该应用程序
现在,让我们测试一下这个应用程序。 首先,运行 HttpHelloWorldExample.main,然后打开你喜欢的浏览器,进入 localhost:8080 你将收到一个 Hello World!
消息,该消息由服务器处理。 恭喜你,你刚刚创建了你的第一个 ActiveJ应用程序。
下一步是什么?
为了使ActiveJ对开发者更加友好,我们已经创建了几十个不同规模的教程和例子, ,代表了该平台的大部分功能。 点击 "下一步",进入下一个教程。 你也可以先探索ActiveJ docs。