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框架去学习都要注重一点,就是底层的实现原理,这对未来的技术沉淀相当有帮助。


分享到:


相關文章: