一.常见java企业级框架简介
1.SSH
Struts+Spring+Hibernate
由Struts负责分派和处理HTTP请求
Spring负责各层对象的组装
hibernate负责操作数据库
2.SSM
SpringMVC+Spring+Mybatis
由 SpringMVC负责分派和处理HTTP请求
Spring负责各层对象的组装
Mybatis负责操作数据库
二.企业级框架的演变
现代企业级框架形式灵活多变 早已不局限于以上两种 举例:
前端分派用了SpringMVC,装配对象用了Spring,后端持久层就一定要用MyBatis吗?
不一定,我用SpringJDBC也完全可以,用一些其他小众持久层框架beetlsql去操作数据库也完全可以。
同样 前端用了Struts,装配对象用了Spring,持久层也不局限于hibernate。
现代主流的两种:
1.SpringMVC+Spring+MyBatis+插件改良
-SpringBoot+MyBatis+插件改良
2.SpringBoot+SpringDataJPA [jpa接口由hibernate实现]
三.优劣比对
1.SpringMVC vs. Struts
Struts的传参方式 决定了Action控制器类必须多例 单例会有线程安全问题
(当一个类既可以设计为单例 又可以设计为多例时 一般优先设计为单例)
另外一些其他调用方式也远不如SpringMVC友好
2.Mybatis vs. hibernate
Mybatis里sql语句暴露 更容易做sql调优
hibernate确实内置操作多一些 但是sql语句都由框架生成 灵活度不如MyBatis 不便于sql调优