# spring-boot-netty-starter
**Repository Path**: lee_coding/spring-boot-netty-starter
## Basic Information
- **Project Name**: spring-boot-netty-starter
- **Description**: 一款整合netty与spring-boot的快速网络开发框架,框架内提供了大量的API并完善了Netty的Channel管理,且提供了多个注解的方式来组合实现不同的协议.
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: https://framework.peaklee.site/
- **GVP Project**: No
## Statistics
- **Stars**: 13
- **Forks**: 1
- **Created**: 2023-04-02
- **Last Updated**: 2025-04-09
## Categories & Tags
**Categories**: Uncategorized
**Tags**: Java, SpringBoot, Netty, NIO
## README
# spring-boot-netty-starter


---




---

###### [文档主页 Document](https://framework.peaklee.site)
## 什么是spring-boot-netty-starter?
*spring-boot-netty-starter是一款spring-boot和netty的整合框架,对于不太了解netty的同学,能够实现快速开发基于netty的socket服务器.其中实现了大量的注解和过程拦截器,能够无缝对接spring-boot进行快速开发,光说不练假把式,接下来就让我们开始吧!*
## 快速开始
第一步:
* 添加对应的maven依赖
```xml
site.peaklee.framework
spring-boot-netty-starter
${Last-version}
```
第二步:
* 创建应用程序主类:
```java
import org.springframework.boot.autoconfigure.SpringBootApplication;
import site.peakleeframework.core.SpringSocketApplication;
@SpringBootApplication
public class MySocketServer {
public static void main(String[] args) {
SpringSocketApplication.run(MySocketServer.class, args);
}
}
```
第三步:
* 创建一个handler或者消息接收器,来处理具体的业务逻辑
```java
import site.peakleeframework.annotation.Handler;
import site.peakleeframework.handler.adapter.AdapterSessionInboundTypeHandler;
import site.peakleeframework.session.impl.Session;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Handler(1)
public class MessageHandler extends AdapterSessionInboundTypeHandler {
@Override
public void onMessage(Session session, String msg) {
log.info("message received:{}",msg);
//todo 业务方法实现
}
}
```
* 在`AdapterSessionInboundTypeHandler`类中实现了`Session`对象的管理,直接调用即可,且无需向`netty`的`initChannel`进行注册,只需要加入注解`@Handler`即可自动注册,数字`1`表示注册的顺序,即`handler`的处理顺序
* 或者直接实现接口`BeforeSocketReadMessage`,该接口的消息回调优先级大于`AdapterSessionInboundTypeHandler`
```java
import site.peakleeframework.core.spi.BeforeSocketReadMessage;
import site.peakleeframework.session.impl.Session;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class MessageListener implements BeforeSocketReadMessage {
@Override
public void beforeReadMessage(Session ctx, Object msg) {
log.info("message received:{}", msg);
//todo 业务方法实现
}
}
```
第四步:
* 在idea工具中直接启动即可,默认端口是`7080`,默认编解码器是`String`类型,启动完成后会返回一个`SocketConfigurableContext`上下文对象,随后让我们一起来发现它的用途吧
* 如你所见实现一个简单的Socket程序只需要简单的四步即可完成.