SSM整合Netty5.0詳細說明

閱讀本文約「3.2分鐘」git

最近又有粉絲加Q羣討論netty整合SSM項目的方式等,我在這裏抽了休息日的時候整理一下,一步一步的記錄,注意的是,本案例僅實現了用netty整合SSM後與單片機等類TCP應用通訊。github

項目以防止github,接下來的文檔代碼塊均用截圖表示,你們能夠去github查看具體的代碼資料數據庫

首先我用IDEA進行項目的初始化服務器

接下初始化對應的pom文件還有配置文件mybatis

主要仍是版本問題,其餘版本我還沒試過,因此坑的話,你們還要繼續踩踩。app

主要是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應該就是沒問題的。不信?咱們來看看效果怎麼樣

確實是沒問題的,不過本項目仍是應該還有部分坑存在,再次將源碼分享給你們,但願你們一塊兒踩坑,且本人平時較忙因此相關項目的代碼維護也是有時間才弄的,畢竟最近在準備(軟考中級的設計師,且對機器學習也有了興趣),嗯,各位應該懂的!

相關文章
相關標籤/搜索