springmvc集成mybatis框架 你平時(shí)主要使用什么Java開(kāi)發(fā)框架?
你平時(shí)主要使用什么Java開(kāi)發(fā)框架?以我們的項(xiàng)目為例。我們的項(xiàng)目是純后臺(tái)服務(wù)項(xiàng)目,即沒(méi)有前端頁(yè)面,只對(duì)外提供服務(wù);項(xiàng)目基于Spring Boot,引入spring-boot-starter-web,直
你平時(shí)主要使用什么Java開(kāi)發(fā)框架?
以我們的項(xiàng)目為例。
我們的項(xiàng)目是純后臺(tái)服務(wù)項(xiàng)目,即沒(méi)有前端頁(yè)面,只對(duì)外提供服務(wù);項(xiàng)目基于Spring Boot,引入spring-boot-starter-web,直接公開(kāi)接口,消息使用的JSON,很少接口是從舊系統(tǒng)遷移過(guò)來(lái)的,所以為了讓調(diào)用方盡可能小的修改,保留了XML消息;在正式的生產(chǎn)環(huán)境中,內(nèi)置的Tomcat也是用;集成了Swagger,在線自動(dòng)生成界面文檔。
ORM框架選擇MyBatis。由于項(xiàng)目中的查詢大多是單表查詢,且查詢條件相對(duì)固定,所以標(biāo)注做出的SQL語(yǔ)句是直接綁定的。
因?yàn)轫?xiàng)目不僅使用了關(guān)系型數(shù)據(jù)庫(kù),而且經(jīng)過(guò)處理關(guān)聯(lián)后在MongoDB中保存了更多的數(shù)據(jù),所以項(xiàng)目也使用了Spring數(shù)據(jù)MongoDB。我們的MongoDB已經(jīng)部署了副本集,使用Spring數(shù)據(jù)MongoDB,通過(guò)簡(jiǎn)單的配置就可以完成對(duì)多個(gè)mongob的訪問(wèn)。如果其中一個(gè)MongoDB掛了,對(duì)服務(wù)沒(méi)有影響,所以我們可以在擴(kuò)展MongoDB時(shí)在線進(jìn)行(擴(kuò)展內(nèi)存和CPU時(shí)MongoDB需要停止)。
在與一些系統(tǒng)的交互中使用RabbitMQ,只要將spring-boot-starter-amqp引入Spring Boot,其實(shí)可以很容易地與RabbitMQ集成。生產(chǎn)者和消費(fèi)者都很方便。
因?yàn)槭羌兘涌诜?wù),為了減輕數(shù)據(jù)庫(kù)的壓力,我們根據(jù)業(yè)務(wù)場(chǎng)景(數(shù)據(jù)變化不頻繁,業(yè)務(wù)場(chǎng)景對(duì)實(shí)時(shí)性要求不是很高)將部分接口的結(jié)果直接緩存到Redis中。在整合Redis的時(shí)候,我們前后嘗試了兩種
Spring Boot項(xiàng)目,最簡(jiǎn)單的與Redis集成可以直接使用@Cach
Java Web學(xué)習(xí)者,可以跳過(guò)SSH直接學(xué)習(xí)SSM嗎?
開(kāi)門見(jiàn)山:宋承憲和SSM學(xué)習(xí)沒(méi)有特別的順序,但兩人都必須學(xué)習(xí)和掌握。
第一,宋承憲和SSM學(xué)習(xí)沒(méi)有先后順序。所謂的SSH和SSM就是我經(jīng)常說(shuō)的五個(gè)框架,Spring,sTruts 2,hibernate,springmvc,mybatis框架
Struts2和Springmvc屬于一類,都是mvc框架。目前Springmvc的知名度和受歡迎程度都高于Strurs2。Springmvc因其簡(jiǎn)單、功能強(qiáng)大、性能優(yōu)異、漏洞少、使用方便而成為熱門開(kāi)發(fā)框架,這也是其趕超Struts2的重要原因。
Hibernate和Mybatis同屬一類,都是持久性框架。Hibernate是一個(gè)完整的面向?qū)ο蟛僮鞯腛RM框架,非常強(qiáng)大,屬于重量級(jí)框架。由于其框架的量級(jí),使用起來(lái)比較麻煩。如果想用起來(lái)得心應(yīng)手,發(fā)揮其強(qiáng)大的功能,需要的配置項(xiàng)很多,位置也比較復(fù)雜。所以hibernate的學(xué)習(xí)成本高,但是對(duì)于中小型系統(tǒng)來(lái)說(shuō),由于面向?qū)ο箝_(kāi)發(fā)和hql的使用,開(kāi)發(fā)效率特別高,所以hibernate是中小型系統(tǒng)開(kāi)發(fā)的首選。讓 讓我們談?wù)勎业陌偷偎埂ybatis是一個(gè)半自動(dòng)的orm框架,中等輕量級(jí),使用原生sql。使用原生sql的優(yōu)點(diǎn)是性能調(diào)優(yōu)方便,操作靈活,因此成為大型項(xiàng)目的首選。個(gè)人認(rèn)為hibernate和mybatis各有千秋,兩者都比較重要,根據(jù)項(xiàng)目大小自由選擇。
Spring自然是一個(gè)單獨(dú)的類別,它的作用是ioc容器和bean管理,它作為mvc框架和持久性框架之間的紐帶和橋梁,起著非常重要的作用。
SSM和SSH是上述五個(gè)框架的結(jié)合。不管怎么組合,都要有一個(gè)Spring容器,后面是mvc框架和持久性框架。
二、五大框架一定要學(xué)習(xí)掌握,缺一不可。因?yàn)檫@五大框架在真實(shí)的項(xiàng)目開(kāi)發(fā)中被廣泛使用和使用,所以不會(huì)出現(xiàn)誰(shuí)被淘汰誰(shuí)被取代的情況。任何企業(yè)項(xiàng)目開(kāi)發(fā)和面試都會(huì)提到這五大框架,所以這五大框架的學(xué)習(xí)是必不可少的。
作為ioc容器和bean管理器,Spring的重要性不言而喻,必須要學(xué),可以看作是五大框架學(xué)習(xí)的首要位置。
Mvc框架,因?yàn)镾pringmvc的使用比struts2更通用,更普及,建議先學(xué)Springmvc。
持久性框架,hibernate和mybatis各有千秋,學(xué)習(xí)順序不分先后。不過(guò)從學(xué)習(xí)難度來(lái)說(shuō),建議先學(xué)mybatis。畢竟學(xué)起來(lái)比較簡(jiǎn)單,所以要增強(qiáng)學(xué)習(xí)興趣。It 這也是我通常的學(xué)習(xí)方法。;難度大,學(xué)習(xí)效率高。
【沒(méi)有感情,沒(méi)有編碼。做一個(gè)有感情的人雖然有幾千萬(wàn)懷孕的農(nóng)民,但是我要去!】關(guān)注java自學(xué)、java技術(shù)、求職等領(lǐng)域,為你指點(diǎn)迷津,分享你的學(xué)習(xí)經(jīng)驗(yàn)和技巧。歡迎喜歡,轉(zhuǎn)發(fā),關(guān)注,留言。您可以針對(duì)任何java學(xué)習(xí)或工作面試問(wèn)題留下私人消息,并回答您的任何問(wèn)題。