记得当年 java 的企业级框架还是 ssh 的天下(spring
,struts
和hibernate
),但是现在感觉 spring
已经完全把那两个框架甩在后边了。用 spring
的人越来越多,用 struts
的人比原来少多了,用 hibernate
的就更少了。毕竟现在 it 人才流动性太大了,招人上来上手很重要,谁知道他什么时候就跑了。。( hibernate
太复杂了)。
1、ssh 是什么
struts2
:通俗的讲就是为了完成 MVC 模型中的 C 的功能,也就是编写具体的业务逻辑的地方
从他的设计上来看就是请求到了 web 容器,然后经过了一系列的过滤器,再通过请求 FilterDispatcher 询问ActionMapper 是否需要调用某个 Action,如果要调用的话, 然后执行先前配置好的拦截器,就到了我们的具体逻辑,执行完之后,还会继续执行对应的拦截器和过滤器逻辑,最后返回给调用方。
Spring
: 通俗的讲只是通过它的核心 IOC 来管理我们编写逻辑中间的一些 bean。我们通过 IOC 来减少耦合和简化对象的操作。
Hibernate
: 是对象关系映射框架,简单的说,它就是对 JDBC 进行了非常轻量级的对象封装,目的是让操作数据库像操作对象一样简单。
这个就是 ssh 三者最开始的目的,他们各司其职,在缺乏框架的年代,很好的配合着,以至于一直流传了下来。
2、为什么说已经过时
现在提倡和流行的是前后端分离(这里指的分离是完全分离,而不是之前通过模版进行分离,前后端数据交互是根据 http api 进行的)。
后端设计的接口趋向于 Restful
的架构。为什么有这种变化,因为现在前端不仅仅是 web 端,在移动互联网时代 app 也是很大一部分。所以从后端的角度来看,他们都是客户端。
app 是没办法通过模版进行渲染的,只能通过 http 传输数据。这也是后端服务发展的趋势。
Spring+Struts+Hibernate 是越来越少了
Spring(or spring boot)+SpringMVC+Mybatis 的更多
Java 后端技术有很多,如果想要提高,最好的捷径就是踏踏实实的进行学习,对于刚工作不久的人来说,可以把学习 ssh框架的时间用来学习
SpringMVC
,然后掌握 Spring
的核心,然后学习什么是 Restful
概念,最后可以了解 JDBC
的一些概念(前期不推荐学习 ORM 框架)。我相信可以有所收获和成长的。