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