03.07 Java Web學習者,可以跳過SSH直接學習SSM嗎?

Noob004


個人建議:Struts捨棄,Hibernate瞭解,Spring深入。

關於SSH

我剛入行的時候,SSH還是挺火的,額...大概是十年前了。

  • Spring:首先現在Spring依然很火,也歸功於Spring一直在快速迭代升級,現在大多數項目都在用Spring;而且現在Spring下面的子框架非常的多,這裡說的Spring主要還是指Spring Framework。

  • Hibernate:一直沒有被淘汰,但是一直也火不起來,現在更多的項目在用Mybatis或者JPA。說實話,我覺得Hibernate還是挺強的,但是想用好Hibernate不容易。

  • Struts:Struts1和2我都有用過,到現在已經沒落了,新項目很少有人在用,至少我們好多年前就不用了(除非是一直維護的老項目),現在Struts的工作基本上被Spring MVC代替了。而且Struts一而再,再而三的曝出漏洞,在信息安全方面有著很大的隱患。

關於SSM

Spring上面已經說過了,就說說另外兩個:

  • Spring MVC:輕量級的MVC框架;通過Dispatcher Servlet, ModelAndView和 View Resolver,似的Web應用開發變得更加容易。

  • Mybatis :ORM框架,支持普通SQL查詢,存儲過程、高級映射;通過簡單的XML或註解,用於配置和原始映射,將接口和Java的POJO映射成數據庫中的記錄。

現在學什麼?

  • 對於SSH來說,Spring可以好好學習一下(當然要學習新版本),Hibernate可以瞭解一下,Struts就不要再學習了。

  • 現在單體應用,使用最多的是SSM組合:Spring + Spring MVC + Mybatis;

  • 關於JPA,我認為大多數的系統不適用,它適用於微服務場景下,對數據的查詢都是單表查詢(SQL簡單),大多數公司的項目都到不了這個程度;不過雖然可能用不上,還是要學習一下。

  • Spring boot:現在很流行的一個框架,提供了各種啟動器、簡化配置、方便集成、有助於開發效率。

  • 如果接觸前後端分離,甚至是微服務的架構,需要熟悉HTTP接口、Rest API,最好可以掌握一套微服務框架,例如Spring Cloud、或者Dubbo(如果不是工作需要,我推薦Spring Cloud)。

我將持續分享Java開發、架構設計、程序員職業發展等方面的見解,希望能得到你的關注。


會點代碼的大叔


所謂SSH,是指Struts+Spring+Hibernate,其中Struts進行流程控制,Spring進行業務流轉,Hibernate進行數據庫操作的封裝。對於我而言,Struts只是在學校時,J2EE的課本中有描述過Struts2,但是真心沒有學過,當時也認真看過,但是沒有什麼感覺。Spring是一個不得不說的輕量級框架,從開始工作的項目Spring MVC到隨後的Spring Boot都是在和Spring打交道,做Java Web開發,Spring幾乎是其中的核心,必須有足夠的重視,並且對其有研究和理解。Hibernate是一個開放源代碼的對象關係映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。Hibernate是在做基礎框架時接觸過,其單表的增刪改查和方便,但是多表的關聯查詢、事務控制、主外鍵設置需要進行深入學習和研究,才能進行熟練的使用,對於初學者而言,我不推薦使用Hibernate。

所謂SSM,是指Spring+SpringMVC+MyBatis,其中spring是一個輕量級的控制反轉(IoC)和麵向切面(AOP)的容器框架,SpringMVC分離了控制器、模型對象、分派器以及處理程序對象的角色,這種分離讓它們更容易進行定製,MyBatis是一個支持普通SQL查詢,存儲過程和高級映射的優秀持久層框架。我也幾乎是在這條技術線上入門的,所以從初學者的角度來說,跳過SSH,直接學習SSM是沒有問題的。

還記得,但是學習Spring的時候,真心不理解依賴注入和控制反轉,培訓的前輩自己解釋還是不明白,就帶著種種的困惑投入到Java Web開發中,不理解,但是會用,在使用過程中,註解理解自動注入、AOP面向切面編程等概念和使用場景,在BeanFactory和FactoryBean的摸索中逐漸成長。MyBatis是一款優秀的持久層框架,sql集中清晰,事務易於控制處理,避免SQL注入的優點,使其得到較大規模的使用,而在我三四年的程序員生涯中,MyBatis也是使用最多的持久化組件。

Java Web的學習,要更多的結合公司的技術線和項目開發,邊學邊實踐,那樣效果最佳,而只想著怎麼學,不動手實踐,怎麼說,怎麼推薦都是白搭。



夕陽雨晴


當然可以,沒有任何問題,完全可以不用學習SSH,直接學習SSM。

從實際應用角度來說,SSM的實用性比SSH的要強很多。因為它小巧,輕便,方便實用。更重要的是它簡單易學,不會讓人覺得它很麻煩。

SSM中的Mybatis絕對比Hibernate要輕巧多了,而且是基於SQL語句的 ,對於早期非常熟悉SQL語句的人來說,當然建議從這個開始學習,不像Hibernate的HQL的繁瑣。

而SpringMVC則是很好的詮釋了MVC模型的結構。絕對比Struts2更加的簡單和好懂,而且是純註解操作,簡單配置即可使用,為何不用呢?真的很輕鬆。

Spring是一個粘合劑,主要進行合成,它主要核心思想是IoC和AOP,這些掌握Spring的基礎就已經學到了。

當然這裡面項目是很重要的,若你只是學了理論的SSM,沒有項目做支撐,那很難完全掌握SSM,而且整合過程中會出現大量的錯誤,所以一定要認真看。學會分析。

所以,總的來說,直接學SSM即可。


教育新時論


開門見山:SSH和SSM學習無先後,但都得學習掌握。

一、SSH和SSM學習無先後

所謂SSH和SSM就是我經常說的五大框架,Spring,Struts2,Hibernate,Springmvc,Mybatis框架。

Struts2和Springmvc歸為一類,都是mvc框架。目前Springmvc的使用普遍程度和流行程度要高於Strurs2,Springmvc上手簡單,功能強大、性能優異、漏洞少,使用方便等讓其成為炙手可熱的開發框架,這也是其後來居上並趕超Struts2的重要原因。

Hibernate和Mybatis歸位一類,都是持久層框架。Hibernate是面向對象操作的完全ORM框架,其功能非常強大,屬於重量級框架,由於其框架的量級,從而導致在使用上比較麻煩。如果想要對其遊刃有餘的使用並且充分發揮它強大的功能,需要的配置項特別多,位置也比較繁瑣。所以hibernate的學習成本高,但是針對中小型系統,由於面向對象開發和hql的使用,開發效率特別高,所以hibernate是中小型系統開發的首選。再說說Mybatis,mybatis是半自動的orm框架,屬於中輕量級,並且使用原生sql操作,使用原生sql的好處就是性能調優方便,操作靈活,故其成為大型項目的首選。私以為,hibernate和mybatis各有千秋,二者都比較重要,根據項目規模大小自由選擇。

Spring自然單獨一類了,它的作用是ioc容器和bean管理,作為mvc框架和持久層框架連接的紐帶和橋樑發揮著非常重要的作用。

SSM和SSH就是上述五大框架分類後的搭配組合,不管如何組合,必須保證有一個Spring容器,然後就是一個mvc層框架,一個持久層框架。

二、五大框架都得學習掌握,缺一不可

由於這五大框架的應用非常廣泛,且在真實項目開發中使用都比較普遍和流行,目前不會出現誰被淘汰,誰被替代的情況,任何企業項目開發和麵試時都會提到這五大框架,所以這五大框架的學習缺一不可。

Spring作為ioc容器和bean管理者,重要性不言自明,這個非學不可,可以把其作為五大框架學習的首要地位。

mvc框架,由於Springmvc的使用普遍和流行程度要高於struts2,建議先學習Springmvc。

持久層框架,hibernate和mybatis各有千秋,二者學習順序不分先後,但是,從學習難易程度上,建議先學mybatis,畢竟上來要學習相對簡單點的,提升一下學習興趣是有必要的。先易後難也是我一慣的學習方法,學習效率較高。

【無情懷,不編碼。做一個有情懷的碼農,雖千萬人,吾往矣!】 關注java自學、java技術、求職領域,為你導航領路,指點迷津,分享學習感受和技能經驗。歡迎點贊、轉發、關注和留言,任何java學習或求職面試問題可以留言私信,有問必答。

愛編程的魚


額,其實直接上springboot好點吧,畢竟簡單啊,然後接ssh吧,新項目都直接上springboot了吧,外加某些祖傳的項目ssh比ssm要多


了體力五十


當然可以了。簡單的說,是SSM淘汰了SSH。如果想輔導可以和我聯繫,50元一小時。

JAVA WEB學習的順序是:

1.HTML 2.CSS 3.JS 4.JQ 5.MYSQL 6.JSP 7.JSTL 8.EL表達式

9.JAVA 10.servlet 11.SSM框架 12. SSM框架項目。


也可以自學,只不過時間要長一點,培訓是3個月, 自學可能是3年,也許4年,所以你要考慮一下3年或4年後,還有沒有JAVA。


如果你現在跟我學PYTHON ,從零開始的,只收1000元,講一本書,學完這本書估計也差不多會PYTHON了。

你看著辦法!

推薦你看一下我的彙編語言視頻。關注我頭條號“金庭波編程學與做"後,就可以看到連續的講座了。


金庭波編程學與做


mybatis或jpa,jpa就是hibernate官方升級版


lucicol7


作為過來人表示:完全可以.

我15年下半年參加工作,在那個時候我所在的城市大多數公司項目已經在淘汰掉SSH,當初我找工作面試的時候也就1-2家問到了我用沒用過SSH,其餘的公司都是使用的SSM,網上關於SSM和SSH的區別差異的文章有很多,在這裡我就不獻醜了,基本上你面試的時候面試官大多也只會問你SSH和SSM的區別和你為什麼使用SSM,所以實際上你只需要掌握瞭解SSH大致是個什麼,並且和SSM的區別以及SSM的優點來回答就可以了.

時間來到現在你已經幾乎很難在招聘上要求你使用掌握hibernate和 struts2的了,

但是我個人還是建議你有時間的話還是要看看這兩個框架,瞭解一下當初設計者們的設計思路,以及為什麼會被淘汰,更有利於你對整個j2ee框架的迭代有更深的理解.


MrRight1208023707


可以,但是從以後java程序員職業發展的角度看,需要知道SSH的原理。因為技術都在更新換代,基本上是18個月技術就會更新換代一次。從最早寫EJB到struct1或springMVC或struct2或+spring+hibernate的SSH組合到springMVC+spring+mybatis的SSM組合,到現在用到springBoot、springCloud與微服務架構的結合,相信在未來,還有更加優秀的框架技術出現。儘管如此,依然是換湯不換藥,框架無論怎麼變,底層的原理還是一樣的,所以無論是否跳過SSH框架去學習都要注重一點,就是底層的實現原理,這對未來的技術沉澱相當有幫助。


分享到:


相關文章: