<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    幫助IT團(tuán)隊快速構(gòu)建符合jt808協(xié)議部標(biāo)的基于java技術(shù)的GPS和視頻平臺(2379423771@qq.com)

    基于Spring4+SpringMVC4+Mybatis3+Hibernate4+Junit4框架構(gòu)建高性能企業(yè)級的部標(biāo)GPS監(jiān)控平臺

    開發(fā)企業(yè)級的部標(biāo)GPS監(jiān)控平臺,投入的開發(fā)力量很大,開發(fā)周期也很長,選擇主流的開發(fā)語言以及成熟的開源技術(shù)框架來構(gòu)建基礎(chǔ)平臺,是最恰當(dāng)不過的事情,在設(shè)計之初就避免掉了技術(shù)選型的風(fēng)險,避免以后在開發(fā)過程中,不斷的填坑走彎路,以至于整個團(tuán)隊被坑埋掉。做GPS平臺這么多年,以前就了解到一些開發(fā)團(tuán)隊過于關(guān)注某一種語言的優(yōu)勢,比如過于選用GO,Erlang,python,php等技術(shù),最后團(tuán)隊熟悉這些技術(shù)的關(guān)鍵人員離職了,都沒人接手,不能不說是個悲劇。所以說平臺的技術(shù)架構(gòu)選型要注重的是穩(wěn)健,均衡而不是偏激,而SpringMVC4, Mybatis4, Hibernate4就是GPS監(jiān)控平臺軟件開發(fā)的理想框架選擇。

    廢話少說,我們現(xiàn)在構(gòu)建基于BS網(wǎng)頁Web模式的部標(biāo)GPS監(jiān)控平臺,基于主流的J2EE三層模型,主要的技術(shù)選型如下:

    1.基礎(chǔ)容器框架 spring4

    2.Web框架 Springmvc4

    3.ORM實體與關(guān)系數(shù)據(jù)庫映射框架 hibernate4

    4.SQL查詢框架 mybatis3

    5.單元測試 junit4

    6.日志   log4j

    7.定時任務(wù)框架Quartz 

    系統(tǒng)運(yùn)行環(huán)境:tomcat7+ 、JDK7+、MySql 5.7/ SQSERVER2005/Oracle9

     

    GPS監(jiān)控的web平臺對技術(shù)的要求如下:

    1.實時監(jiān)控和部標(biāo)808協(xié)議的幾十種終端指令的上傳下達(dá),百度地圖車輛位置監(jiān)控,地圖操作等功能需要頻發(fā)的對服務(wù)器發(fā)送基于ajax的request,返回json數(shù)據(jù),基本上是重度使用ajax請求和Json傳輸。

    2.Web服務(wù)器需要應(yīng)對網(wǎng)頁客戶端重度的request請求,性能要求較高,在mvc框架開發(fā)的時候,一定要避免內(nèi)存泄漏,因為在頻繁的request請求調(diào)用之下,小小的內(nèi)存泄漏,會一點一點積累,直至耗掉tomcat的內(nèi)存。

    3.安全性上,框架至少要能夠防御CSRF、XSS和SQL注入攻擊

     

    Web框架我們采用sprngMVC4, 主要的考慮如下:

    1.全注解環(huán)境,采用springmvc4,替xml配置,避免掉了一大堆的xml配置,對應(yīng)URL的映射和request參數(shù)的映射直接在方法中通過注解配置;

    2.spring mvc是基于方法的設(shè)計,controller是單例模式,而sturts是基于類,每次發(fā)一次請求都會實例一個action,每個action都會被注入屬性,而spring基于方法,粒度更細(xì),性能上更高一籌;

    3.SpringMVC框架的安全性上要高于struts,詳見百度搜索。

     

    數(shù)據(jù)庫ORM的框架要求如下:

    1.能夠比較靈活的適應(yīng)主流的數(shù)據(jù)庫,如mysql, mssqlserver, oracle等,現(xiàn)在的開發(fā)團(tuán)隊和開發(fā)人員在開發(fā)的時候,幾乎沒有人關(guān)注這個問題,基本都是在一個數(shù)據(jù)庫上吊死,而作為一個平臺的開發(fā),為應(yīng)對不同的客戶要求,團(tuán)隊的開發(fā)力量有限,不能一個數(shù)據(jù)庫一個版本,這樣開發(fā)和維護(hù)、升級、測試成本就急速的升高,所以我們追求的是一下幾個原則:

    1)不用存儲過程和觸發(fā)器;

      很多開發(fā)團(tuán)隊都是重度的存儲過程和觸發(fā)器的使用者,連簡單的查詢分頁都要用存儲過程,一旦開發(fā)人員離職,這些存儲過程和觸發(fā)器都像天書一樣,難以維護(hù),一般我們的代碼都是在SVN基于配置庫進(jìn)行版本管理,而存儲過程和觸發(fā)器卻脫離這些之外,存儲過程和觸發(fā)器如果有bug出現(xiàn)問題,在生產(chǎn)環(huán)境上,很難進(jìn)行跟蹤,web容器的日志記錄只能跟蹤到j(luò)ava代碼級別,剩下就需要DBA來配合了。

    2)使用Hibernate4 框架,實體類和數(shù)據(jù)庫的映射都在類和屬性方法上完成;基于Hibernate的配置就可以輕松切換到其他數(shù)據(jù)庫。

    3)采用采用Mybatis的物理分頁插件,通過攔截器的方式,在開發(fā)人員編寫的SQL上進(jìn)行攔截,并自動包裝上各個數(shù)據(jù)庫的物理分頁代碼,可以支持多個主流數(shù)據(jù)庫的物理分頁查詢方法。

    4)采用mybatis和log4j,可以很方便的打印SQL日志,方便調(diào)試跟蹤。

     

    基于Maven構(gòu)建多模塊項目工程,打造干凈的依賴庫

      我們在開發(fā)GPS監(jiān)控平臺的時候,一般都是基于業(yè)務(wù)功能和職責(zé),將業(yè)務(wù)分為多個模塊,各個模塊之間相互獨立,每個模塊可以獨立運(yùn)行或者作為獨立的公共類庫被其他模塊所依賴如Dao、Service等

      實際上一個部標(biāo)GPS監(jiān)控平臺,里面包含了多個業(yè)務(wù)功能模塊,如部標(biāo)808GPS服務(wù)器,web網(wǎng)頁客戶端,809轉(zhuǎn)發(fā)服務(wù)器,移動API,位置服務(wù),計算服務(wù)等等。

      由于多個模塊,都需要依賴這些開發(fā)框架,而開源框架又有各自的依賴的jar包,他們的版本搭配非常關(guān)鍵,例如springmvc4用的jackson框架是2.1, springmvc3 用的jackjson框架是1.x版本,你如果搭配錯了,項目運(yùn)行不起來了。再比如spring和mybatis, hibernate之間的無縫結(jié)合,雖然是互相搭配,但你如果用的版本不一致,也會造成項目出錯。未來我們想升級某個框架,比如從spring4升級到spring5,也是不是單純的只升級spring4, 而是要考慮hibernate, mybatis等框架的聯(lián)動升級。

      所以采用Maven來提供工程的中央倉庫,所有的子模塊共享一個POM文件,避免各個子模塊各自重復(fù)依賴一大堆jar包。Maven的多模塊其實就是按照層級的管理構(gòu)建,項目包含一個pom.xml文件和若干個模塊,每個模塊有一個單獨的pom.xml文件,通過pom的依賴和繼承關(guān)系來構(gòu)建項目層次。一旦建好以后,就可以終身享用,工作量會大大降低,jar包版本不一致的造成的項目風(fēng)險會大大降低。

      而整個項目工程的拷貝復(fù)制就更加簡單,里面不再有大量的jar包,開發(fā)人員只需從配置庫上更新最新的代碼后,配置庫中不再有大量的開源框架jar包,而是從Maven中央倉庫中自動更新。建立工程的時候,直接選擇導(dǎo)入Maven工程,一鍵將所有的模塊導(dǎo)入到新的workspace當(dāng)中,非常方便。

     購買GPS平臺或GPS監(jiān)控系統(tǒng)源碼,聯(lián)系我2379423771@qq.com

    工程目錄和包命名規(guī)范

    我現(xiàn)在根據(jù)Spring的注釋,包的命名,當(dāng)然這首先建立在你對三層架構(gòu)的熟悉上。

    com.ltmonitor.jt808.app    808服務(wù)器應(yīng)用程序

    com.ltmonitor.jt809.app    808服務(wù)器應(yīng)用程序

    com.ltmonitor.web.vo       用于web頁面?zhèn)鬟f的對象

    com.ltmonitor.service.vo   用于服務(wù)傳遞的對象

    com.ltmonitor.controller   MVC中的控制,Spring的注釋@controller

    com.ltmonitor.controller.map        地圖表現(xiàn)層

    com.ltmonitor.controller.terminalcommand 終端指令

    com.ltmonitor.entity     實體類

    com.ltmonitor.entity.jt808 專用于808gps服務(wù)器的實體類

    com.ltmonitor.entity.jt809 專用于809服務(wù)器的實體類

    com.ltmonitor.dao  Dao層

    com.ltmonitor.servce service層

    com.ltmonitor.server  gps服務(wù)器層

    。。。

    。。。。。

    。。。。

    一下還有很多,就不一一列舉。

    交通部部標(biāo)監(jiān)控平臺

    Java平臺基于struts2技術(shù)框架的平臺,參見基于Struts+Spring+Hibernate+Ibatis+Quartz+Mina框架構(gòu)建部標(biāo)監(jiān)控平臺

    .NET平臺,參見:基于Asp.NET MVC構(gòu)建GPS部標(biāo)平臺

    posted on 2016-09-13 08:09 Speed 閱讀(3588) 評論(0)  編輯  收藏 所屬分類: J2EEHibernate & Ibatisjt808協(xié)議和java技術(shù)

    導(dǎo)航

    留言簿(15)

    隨筆分類

    值得一看的博客

    積分與排名

    最新評論

    閱讀排行榜

    主站蜘蛛池模板: 久久国产福利免费| 国产精品亚洲精品日韩电影| 成人无码视频97免费| 国产成人免费a在线资源| 亚洲日韩精品无码专区加勒比☆| 18观看免费永久视频| 亚洲一区二区电影| 最近中文字幕电影大全免费版| 亚洲精品综合一二三区在线| 99在线在线视频免费视频观看 | 全免费a级毛片免费**视频| 亚洲综合久久精品无码色欲 | 国产成人精品免费午夜app| 亚洲嫩草影院久久精品| 19禁啪啪无遮挡免费网站| 亚洲视频一区二区三区四区| 日韩欧美一区二区三区免费观看| 亚洲第一男人天堂| 国产一区二区三区无码免费| 一级毛片免费不卡| 亚洲国产精品人久久| 波多野结衣免费在线观看| 亚洲成在人线aⅴ免费毛片| 亚洲国产成人精品久久久国产成人一区二区三区综 | 亚洲国产精品一区二区第一页 | 成人亚洲性情网站WWW在线观看| 任你躁在线精品免费| 亚洲日产2021三区在线| 永久黄网站色视频免费| 国产成人精品免费大全| 久久精品国产亚洲av水果派 | 国产精品亚洲专区在线播放| 亚洲人成亚洲人成在线观看| 国产免费的野战视频| 久久久久久久久无码精品亚洲日韩| 久久久久亚洲AV无码专区桃色| 毛片无码免费无码播放| 久久精品熟女亚洲av麻豆| 亚洲成AV人片在线播放无码| 成年人在线免费看视频| 在线观看免费无码专区|