什么是SSM
SSM框架就是:Spring + SpringMVC + MyBatis
这个回答了解过的都知道
框架
指的是为了实现某个业界标准或完成特定基本任务的软件组件规范,也指为了实现某个软件组件规范时,提供规范所要求之基础功能的软件产品。
来自百度 --> 直达
也可以理解为:为了约束这部分编程而形成的简便格式
约束大于配置 是永远对的,无规矩不成方圆
Spring
Spring :春天
正如名字一样,这个东西就是程序员的春天,简化了大部分配置编码
懒造就一切 正因为早期什么东东都需要程序员手动去敲,而且出错后还不能有效的准确的进行排查,所以出现了 Spring。
特点:
- 开源
- 免费
- 轻量级
- 非侵入式
- 控制反转 IoC
- 面向切面 Aop
- 事物
。。。
控制反转 IoC
对象仅通过构造函数参数、工厂方法的参数或者在对象实例被构造或者从工厂方法返回后在其上设置的属性来定义它们的依赖关系(也就是说,它们使用的其他对象)。然后容器在创建 bean 时注入这些依赖项。这个过程从根本上来说是 bean 本身的逆过程(因此得名为控制反转) ,通过使用类的直接构造或服务定位器模式之类的机制来控制其依赖项的实例化或位置
---------------------------------------------------------------------------------------来自官网
总结:
- 对象注入Bean
- 通过构造函数、工厂方法的参数或者在对象实例被构造或者从工厂方法调用
- 容器在创建Bean的时候实现该对象
SpringMVC
Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架,从一开始就包含在 Spring 框架中。“ Spring Web MVC”的正式名称来自其源模块的名称(Spring-webmvc) ,但它通常被称为“ Spring MVC”。
和许多其他 web 框架一样,Spring MVC 是围绕前端控制器模式设计的,其中中央 Servlet DispatcherServlet 为请求处理提供共享算法,而实际工作则由可配置的委托组件执行
原理:
三大核心:
- Model(模型):所有的用户数据、状态以及程序逻辑,独立于视图和控制器,封装了应用程序的数据
- View(视图):类似于Web程序中的界面,视图会从模型中拿到需要展现的状态以及数据,对于相同的数据可以有多种不同的显示形式,负责呈现模型数据
- Controller(控制器):负责处理用户的请求,并建立适当的模型,并把它传递给视图渲染,通常情况下一个视图具有一个控制器
MyBatis
借鉴:最小的帆也能远航 - MyBatis详解
mybatis是一款半自动的ORM持久层框架,具有较高的SQL灵活性,支持高级映射(一对一,一对多),动态SQL,延迟加载和缓存等特性,但它的数据库无关性较低。
优点:
- 支持定制化 SQL、存储过程以及高级映射
- 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集
- 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO为数据库中的记录
Spring 和 Spring MVC的关系
Spring 和 Spring MVC都是容器,就好比两个杯子一样。
Spring是父容器,SpringMVC是子容器,都是管理Bean对象的地方,所谓术业有专攻大概可以这样形容吧。
需要的环境是什么
- 电脑,这个就不用说了吧
- 编程工具,推荐IDEA,非常好用的集合工具
- Java,SSM也是在Java的基础之上发展出来的框架,因此Java环境是必要的,直达
- maven,框架需要使用各种相关的jar包,用到一个下载一个,而且之间的版本配适情况不一,因此需要一个jar包管理工具来统一管理
- mysql,MyBatis是对数据库进行操作的,也就是需要数据库的相关环境,直达
发展和未来
SSM自面世以来受到了广大Java开发人员的喜爱,其出色的管理装配方式、优秀的架构思想以及便捷的开发方式使其一度成为框架中的“东方不败”
但是,复杂臃肿的配置让其退出了一线的位置,取而代之的 SpringBoot 夺得魁首
虽说如此,但是目前大多数框架以及产品的思想均来自SSM,可以说SSM虽然不是最好的框架,但却是最好的思想启蒙之一