2020年更一下,现在企业使用Struts几乎没有了,一般都是老项目维护(Struts也可以不用学,0202年了,有Struts的项目几乎为零了)。hibernate在公司使用偏少一些了,更多了解它的思想。ssm是主流,springboot是在spring的基础上做到了开箱即用一些框架工具小伙伴,springcloud则是一种生态。
中间内容有点乱,可以直接看最后一段
看这篇文章的小伙伴差不多是学习过servlet和jsp了吧,学完了Javaweb的基础,是时候进行下一步的学习了。这时你会陷入一个纠结的问题,我是学SSH还是SSM(我学的时候花了一天纠结这个问题)。
都知道,通常来讲SSH是指 Struts2 Spring Hibernate三个框架。SSM是指SpringMVC Spring MyBatis。
首先,两大框架的控制层都是Spring,有一些叫做依赖注入,面向切面编程之类的术语,不要被吓到,学起来慢慢的就会理解了。初学者差不多可以先理解为他是把各部分控件配置,管理的东西就好了。这是两个框架的都要有的。
Struts2和SpringMVC的好处都是方便我们对视图层的控制,两者在实现功能上采用了不同的方式。因为SpringMVC和Spring是一家人,不存在配置整合的问题。两者各有千秋(现在struts2基本凉凉了)。
再来说一下Hibernate和Mybatis的区别,两者都是通过一定的方式去操作数据库,最最底层的还是JDBC。不说太多难理解的东西了,只说两个框架的差别吧:
Mybatis入门更容易一些,灵活性更好一些。Hibernate的封装性更好一些(因为封装性好,SQL的优化就差了一小丢丢丢丢)学习成本也会相对大一点(是指精通的学习成本)。从面向对象的开发讲,我更喜欢Hibernate的直至底层,简单,快速。如果从细节来看,Mybatis会更有优势,毕竟大部分是由开发者控制,开发更细致。
扯了一大堆,可能还有很多初学者不懂我扯了一些什么,总之SSM是必须掌握的最最基础的东西,Hibernate也是一定要学一下的,还有jpa,通用mapper等后续也可以慢慢接触一下,程序员还有很重要的功底是SQL。结合网上的学习资料来说,我更认为大部分学习视频都是以SSH为开始接触的第一套框架,所以讲解会更为细致,我个人的建议就是先学习SSH,但是Struts可以学也可以不学,不想略过就简单看一下。再进行SSM的学习。两套框架都学一下,感受每种不同的开发思维体现的编程的那种美。这种美不是体现在外表,而是体现在了人的思维,让人不得不感叹人的思维真是无与伦比的美。学习的过程中,我的学习方式是先囫囵吞枣一遍,我先知道我学的是啥东西,然后再进行细致的学习。每个人的学习方法不同,一起加油吧。为这个世界尽一份微薄之力。