大项目交给Spring,小项目可以试一试Magician
Magician 是一个基于 Netty 开发的小型 HTTP 服务包,可以非常方便的启动一个 http 服务,同时也支持 WebSocket,注解式 Handler 配置
运行环境
JDK11+
中央库的 Jar 包 最低支持 JDK11,但是源码最低可以支持 jdk8,如果您需要在 8 上运行,可以下载最新的 tag,自行编译
文档
示例
导入依赖
<dependency>
<groupId>com.github.yuyenews</groupId>
<artifactId>Magician</artifactId>
<version>2.0</version>
</dependency>
<!-- 这是日志包,必须有,不然控制台看不到东西,支持任意可以看slf4j桥接的日志包 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>1.7.12</version>
</dependency>
创建 http 服务
创建一个 Handler
@HttpHandler(path="/")
public class DemoHandler implements HttpBaseHandler {
@Override
public void request(MagicianRequest magicianRequest, MagicianResponse response) {
// response data
magicianRequest.getResponse()
.sendJson(200, "{'status':'ok'}");
}
}
创建 http 服务
Magician.createHttp()
.scan("handler所在的包名")
.bind(8080);
创建 WebSocket
@WebSocketHandler(path = "/websocket")
public class DemoSocketHandler implements WebSocketBaseHandler {
@Override
public void onOpen(WebSocketSession webSocketSession) {
}
@Override
public void onClose(WebSocketSession webSocketSession) {
}
@Override
public void onMessage(String message, WebSocketSession webSocketSession) {
}
}
更多组件
可以利用这些组件方便的开发 web 项目