SSM整合Netty5.0详细说明
阅读本文约“3.2分钟”
最近又有粉丝加Q群讨论netty整合SSM项目的方式等,我在这里抽了休息日的时候整理一下,一步一步的记录,注意的是,本案例仅实现了用netty整合SSM后与单片机等类TCP应用通信。
项目以防止github,接下来的文档代码块均用截图表示,大家可以去github查看具体的代码资料
首先我用IDEA进行项目的初始化
接下初始化对应的pom文件还有配置文件
主要还是版本问题,其他版本我还没试过,所以坑的话,大家还要继续踩踩。
主要是netty中连接池对数据的处理,是在线程中执行的,Spring框架注入的Service组件存在失效的问题,我使用了大部分办法还是无法处理,最后就直接用原生的mybatis方式进行数据操作,所以congif文档是针对netty操作数据库而特别准备的配置文件。mappers可以时mybatis自动生成,也可以是自己写的xml文件。
本项目的mybatis集成Spring也是完好的,静静netty的数据操作需要再定义一层数据持续化池。
项目通过引入netty5.0,通过监听器形式,启动netty线程(NettyServerThread),于后启动对应的NettyServer,其中启动永久监听还有定义自己的TCPServerhandler,在数据读取方法中,重新定义自己的业务处理。 在接收成功,数据格式正常的情况下,执行对应的数据层操作,且每一个实例连接进来时,系统内存会对其进行ID与实例的绑定与存储,也因此方便Controller层对其链接实例进行查询信息与下发指令。
相关目录介绍均以放置Github上了哟。
地址:https://github.com/UncleCatMySelf/ssmnetty
没错就是 UncleCatMySelf ,本人地址下最新的项目。
接下来我们来看看项目的实测调试效果吧,我们需要运行CRC16跑出对应通信格式的密文,然后再由TCPIPMyself去执行,当然首先是运行起我们的项目。
服务器接收成功后也会执行相应的任务,这里第一次执行错误,是因为业务上,这条ID是在数据库里面不存在的,所以更新失败。
而我们项目在实测时也是将项目发布到测试服务器,通过TCP模拟工具进行测试连接,当数据格式正常,且业务数据正常,服务器就会对指令执行对应的操作。
我们再看看API方面的问题,当实例连接正常时,暴露出来的nettyAPI应该就是没问题的。不信?我们来看看效果怎么样
确实是没问题的,不过本项目还是应该还有部分坑存在,再次将源码分享给大家,希望大家一起踩坑,且本人平时较忙所以相关项目的代码维护也是有时间才弄的,毕竟最近在准备(软考中级的设计师,且对机器学习也有了兴趣),嗯,各位应该懂的!

SSM整合Netty5.0详细说明的更多相关文章
- SSM框架整合的最新打开方式(打造最详细的SSM整合教程)
SSM整合 文章已托管到GitHub,大家可以去GitHub查看阅读,欢迎老板们前来Star!搜索关注微信公众号 [码出Offer] 领取各种学习资料! SSM 一.创建一个Maven项目 File ...
- springboot2.0整合logback日志(详细)
<div class="post"> <h1 class="postTitle"> springboot2.0整合logback日志(详 ...
- Maven + 最新SSM整合
. 1. 开发环境搭建 参考博文:Eclipse4.6(Neon) + Tomcat8 + MAVEN3.3.9 + SVN项目完整环境搭建 2. Maven Web项目创建 2.1. 2.2. 2. ...
- SSM整合配置
SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis) 使用SSM(Spring.SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有 ...
- Maven+SSM整合.doc
Maven + SSM整合 1开发环境搭建 1.1Eclipse4.7(Oxygen) + Tomcat8 + Maven3.5.2 2Maven Web项目创建 2.1新建maven项目 2.2 选 ...
- SSM整合笔记
SSM整合笔记 1,创建maven项目 创建maven项目过程省略 ps:如果创建完maven项目之后项目报错,可能是没有配置Tomcat 2,在pom.xml里面导入相应的jar的依赖 <pr ...
- 【转】ssm整合
http://m.blog.csdn.net/article/details?id=44455235 SSM框架——详细整合教程(Spring+SpringMVC+MyBatis) 发表于2015/3 ...
- springMVC:校验框架:多规则校验,嵌套校验,分组校验;ssm整合技术
知识点梳理 课堂讲义 学习目标 能够阐述表单验证的分类和区别 能够运用表单验证的常用注解 能够编写表单验证的示例 能够编写SSM整合的应用案例 能够总结SSM整合的步骤 1 校验框架 1.1 入门-视 ...
- SSM整合_年轻人的第一个增删改查_查找
写在前面 SSM整合_年轻人的第一个增删改查_基础环境搭建 SSM整合_年轻人的第一个增删改查_查找 SSM整合_年轻人的第一个增删改查_新增 SSM整合_年轻人的第一个增删改查_修改 SSM整合_年 ...
随机推荐
- ChartControl设置坐标轴范围
需求:有一条坐标轴是用来表示百分比的,所以刻度范围只能是从0 - 100: 解决方法:运行chatcontrol设计器,选中需要设置的轴,如下图: 设置Whole range 的最大最小值: 默认情况 ...
- 删除API
Delete API 删除API允许根据ID从指定索引中删除一个类型化的JSON文档. DELETE /twitter/_doc/1 返回结果如下: { "_index": &qu ...
- c#—get,set访问器的作用
http://blog.sina.com.cn/s/blog_82526aa60100txtx.html 有字段为啥要有属性??? 属性作用: 1.控制读和写的权限 get:读出 set:写入 2.对 ...
- [Swift]LeetCode201. 数字范围按位与 | Bitwise AND of Numbers Range
Given a range [m, n] where 0 <= m <= n <= 2147483647, return the bitwise AND of all numbers ...
- [Swift]LeetCode252.会议室 $ Meeting Rooms
Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],...] (si ...
- [Swift]LeetCode270. 最近的二分搜索树的值 $ Closest Binary Search Tree Value
Given a non-empty binary search tree and a target value, find the value in the BST that is closest t ...
- [Swift]LeetCode862. 和至少为 K 的最短子数组 | Shortest Subarray with Sum at Least K
Return the length of the shortest, non-empty, contiguous subarray of A with sum at least K. If there ...
- [Swift]LeetCode938. 二叉搜索树的范围和 | Range Sum of BST
Given the root node of a binary search tree, return the sum of values of all nodes with value betwee ...
- Java中的方法(形参及实参)return返回类型
如何定义 Java 中的方法 所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块. 一般情况下,定义一个方法的语法是: 其中: 1. 访问修饰符:方法允许被访问的权限范围, 可以是 pub ...
- javascript时间戳与日期格式之间的互转
1. 将时间戳转换成日期格式 // 简单的一句代码 var date = new Date(时间戳); //获取一个时间对象 /** 1. 下面是获取时间日期的方法,需要什么样的格式自己拼接起来就好了 ...