java后端開(kāi)發(fā)需要掌握什么 現(xiàn)在開(kāi)發(fā)JAVA后臺(tái),主要用哪些技術(shù)?
現(xiàn)在開(kāi)發(fā)JAVA后臺(tái),主要用哪些技術(shù)?你的系統(tǒng)有多大,你的技術(shù)有多強(qiáng)大!從我們公司的角度來(lái)看,使用java開(kāi)發(fā)后臺(tái)服務(wù)使用了以下幾點(diǎn)!2. 數(shù)據(jù)庫(kù)映射框架:mybatis!3. 數(shù)據(jù)庫(kù)連接池:Drui
現(xiàn)在開(kāi)發(fā)JAVA后臺(tái),主要用哪些技術(shù)?
你的系統(tǒng)有多大,你的技術(shù)有多強(qiáng)大
!從我們公司的角度來(lái)看,使用java開(kāi)發(fā)后臺(tái)服務(wù)使用了以下幾點(diǎn)
!2. 數(shù)據(jù)庫(kù)映射框架:mybatis
!3. 數(shù)據(jù)庫(kù)連接池:Druid
!4. 原木框架:slf4j
!5. 項(xiàng)目建設(shè)工具:Maven
!6. 版本控制工具:SVN和git
!7. 緩存:redis
!9. 工作流引擎:activiti
!10. 規(guī)則引擎:口水
!11. 微型服務(wù)容器:docker
!12、圖片、文件等上傳工具OSS
!14,原型視圖工具:Axure RP
!15. 后臺(tái)服務(wù)模擬訪問(wèn):郵遞員
!Shell或Python
!17,語(yǔ)言:java8
寫(xiě)JAVA后端代碼時(shí)邏輯混亂怎么辦?
后端代碼的復(fù)雜性通過(guò)拆分和除法來(lái)解決。首先,通過(guò)拆分項(xiàng)目,項(xiàng)目之間可以存在依賴(lài)關(guān)系,但必須是單向依賴(lài)而不是環(huán)依賴(lài)。如果存在環(huán),我們必須考慮將環(huán)依賴(lài)分解為單獨(dú)的項(xiàng)目來(lái)解決環(huán)依賴(lài)。
對(duì)于項(xiàng)目中的代碼,可以通過(guò)水平拆分和垂直拆分來(lái)降低復(fù)雜性。水平層分為控制器、服務(wù)、Dao和sqlmap,垂直層分為系統(tǒng)、biz1、biz2、Bizn,但在數(shù)據(jù)通暢連接中,水平拆分和垂直拆分相結(jié)合,如下圖所示:
通過(guò)這種分層方式,代碼層是分開(kāi)的,結(jié)構(gòu)清晰。對(duì)于跨模塊調(diào)用的一些接口,如同一個(gè)數(shù)據(jù)表需要在不同的模塊中操作時(shí),可以將該接口作為公共接口提升到上層模塊,對(duì)于spring模塊的功能和方法的實(shí)現(xiàn),可以通過(guò)定義業(yè)務(wù)模塊接口來(lái)降低重用的復(fù)雜度。
java業(yè)務(wù)邏輯,寫(xiě)在哪里比較好?
現(xiàn)在很多公司的開(kāi)發(fā)人員都應(yīng)該采用MVC架構(gòu)。
MVC是所謂的模型、視圖、控制器。
每一層都有明確的分工。
對(duì)于簡(jiǎn)單的項(xiàng)目,不管nignx如何,網(wǎng)關(guān)通常都會(huì)將請(qǐng)求從前端發(fā)送到后端,首先發(fā)送到控制器,然后發(fā)送到服務(wù)層,然后發(fā)送到Dao層。
這里的服務(wù)層就是所謂的業(yè)務(wù)層,專(zhuān)門(mén)負(fù)責(zé)業(yè)務(wù)處理操作,而Dao層則負(fù)責(zé)處理數(shù)據(jù)庫(kù),將數(shù)據(jù)庫(kù)中的數(shù)據(jù)帶回服務(wù),經(jīng)過(guò)服務(wù)處理后返回控制器層。控制器通過(guò)視圖解析器解析頁(yè)面,并通過(guò)瀏覽器呈現(xiàn)頁(yè)面。
基本上,我認(rèn)為答案是顯而易見(jiàn)的。也就是說(shuō),Java業(yè)務(wù)邏輯是在服務(wù)層編寫(xiě)的。
事實(shí)上,服務(wù)層涉及接口和接口實(shí)現(xiàn)。
在編寫(xiě)代碼時(shí),我們通常為控制器定義一個(gè)調(diào)用接口。
實(shí)際上,服務(wù)接口的實(shí)現(xiàn)類(lèi)應(yīng)該是編寫(xiě)業(yè)務(wù)邏輯的地方。
當(dāng)然,許多公司可能有多個(gè)服務(wù)層,例如,有一個(gè)管理層繼續(xù)對(duì)數(shù)據(jù)進(jìn)行特殊的業(yè)務(wù)處理。這里只是一個(gè)簡(jiǎn)單的概述。
每個(gè)公司的每個(gè)項(xiàng)目根據(jù)其自身業(yè)務(wù)可能有不同的體系結(jié)構(gòu)。但本質(zhì)是一樣的。
綜上所述,業(yè)務(wù)邏輯必須作為一個(gè)獨(dú)立的層來(lái)處理,這樣便于擴(kuò)展和維護(hù)。記住不要在控制器中編寫(xiě)所有業(yè)務(wù)邏輯。
每一層都有自己的分工,是捏合在一起的。代碼不僅冗長(zhǎng),而且雜亂無(wú)章。
好吧,我希望我的回答能幫助你
!如果你有興趣,可以關(guān)注一下,一起學(xué)習(xí)交流!