java后端開(kāi)發(fā)需要掌握什么 現(xiàn)在流行的前后端分離項(xiàng)目都使用的是什么前后端框架?
現(xiàn)在流行的前后端分離項(xiàng)目都使用的是什么前后端框架?開(kāi)發(fā)框架主要分為三個(gè)部分:前端、web和持久性,可以自由組合。我單獨(dú)談。在過(guò)去,有struts 1、struts 2和spring MVC for j
現(xiàn)在流行的前后端分離項(xiàng)目都使用的是什么前后端框架?
開(kāi)發(fā)框架主要分為三個(gè)部分:前端、web和持久性,可以自由組合。我單獨(dú)談。
在過(guò)去,有struts 1、struts 2和spring MVC for java web framework。
目前,只有一個(gè)選擇:SpringMVC,其他人都不能玩。無(wú)論是玩耍、高格、火花還是Struts2。springmvc在用戶數(shù)量和生態(tài)方面與springmvc不一樣。
不管其他框架宣傳得多好,都不建議投入大量精力。學(xué)習(xí)框架的設(shè)計(jì)思路還可以。請(qǐng)直接在生產(chǎn)環(huán)境中使用springmvc。spring的基礎(chǔ)設(shè)施無(wú)法與其他框架相比。彈簧靴可用于快速開(kāi)發(fā)。POM可以依賴于enable注釋直接使用。
目前,有兩種主流的JPA和mybatis。
如果項(xiàng)目是數(shù)據(jù)建模,請(qǐng)使用mybatis;如果項(xiàng)目是對(duì)象建模,請(qǐng)使用JPA。
春天來(lái)了。springboot的spring數(shù)據(jù)子項(xiàng)目應(yīng)該希望將兩者統(tǒng)一起來(lái)。不僅兩者,而且其野心更大。它希望統(tǒng)一所有持久性層。DB、redis和elastic search都有相應(yīng)的項(xiàng)目。它希望將所有持久性操作抽象為存儲(chǔ)庫(kù)操作。如果成功,業(yè)務(wù)邏輯就不需要關(guān)心持久層的選擇,交換框架也非常方便。
目前,前端框架有三個(gè)選項(xiàng):react、Ag和Vue。
我不喜歡react….的語(yǔ)法。。。。
似乎Ag在中國(guó)的知名度不高,所以我們不太關(guān)注。
最后的選擇是Vue,它簡(jiǎn)單快速。支持的UI庫(kù)也比較完善。
如果您想在項(xiàng)目中開(kāi)發(fā)小型程序,建議使用Vue。語(yǔ)法高度一致。你將一眼就知道如何開(kāi)發(fā)小程序。
現(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):郵遞員
!16,腳本:shell或Python
!17,語(yǔ)言:java8
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í)交流!