Data Access/Integration:持久层 是Spring对数据持久化、事务管理的支持。SpringDataJpa就是其中的一种
Web:表现层 是Spring对表现层数据的处理部分的支持。SpirngMVC就是其中的一种
Test:测试层 是Spring对项目提供的一个完整测试环境
中间的两部分 是Spring框架的核心功能
狭义角度:Spring指的是Spring框架核心功能模块
广义角度:Spring是一个提供了众多功能模块的生态圈
控制反转:程序由主动到被动
依赖注入:程序注入的一种方式
面向切面:在不改变其源代码的情况增加新功能
高聚合低耦合
SSH是Spring+Struts2+Hibernate的缩写
SSM是Spring+SpringMVC+MyBatis的缩写
Struts2
缺点:
校验较繁琐,多字段时出错返回不同。
安全性太低。
获取传参时较麻烦
Hibernate
缺点:
持久层封装过于完整,导致开发人员无法对SQL进行优化,无法灵活应用原生SQL。 批量数据处理能力较弱势。 导致配置过于复杂,遇到大项目,维护和问题不断
MVC是模型(Model)、视图(View)、控制器(Controller)的缩写
模型(Model)表示应用程序核心,是应用程序中用于处理应用程序数据逻辑的部分,通常负责在数据库中存取数据。
视图(View)用来显示数据,是应用程序中处理数据显示的部分,通常View是依据Model的数据而创建的。
控制器(Controller)用来处理用户输入并调用模型和视图来满足用户的需求,是应用程序中处理用户交互的部分,通常Controller负责从View读取数据,控制用户输入,并向Model发送数据。
浏览器-控制器-模型-数据库-模型-控制器-视图渲染-控制器-浏览器
优势:低耦合性
高可重用性
底生命周期成本
快速部署
高可维护性
Struts2与SpringMVC的对比
Struts2很多功能也需要借助于Spring实现,SpringMVC和Spring有直属血缘的关系,两者吻合度更高