SSM框架:是Spring+SpringMVC+MyBatis的缩写,这个是SSH之后目前比较主流的JavaEE企业级框架,适用于搭建各种大型的企业级应用系统。做框架和使用框架的目的,就是为了提高开发效率,执行效率次之。
Spring通常指的是SpringFramework,它是一个开源框架。Spring是包含众多工具方法的IoC容器。Spring的本质核心是创建和管理应用程序的对象,因为代码中是抽象耦合,那么把new具体类对象放在Spring框架中管理,通过Spring框架,根据用户的需求把对象注入到需要的地方,相当于在代码中没有使用任何具体子类的实现。
容器是用来容纳某种物品的基本装置。List/Map->数据存储容器,Tomcat->Web容器
loC=InversionofControl,表示“控制反转”。也就是说:Spring是一个“控制反转”的容器。不在具体类中new对象,把new对象的控制权反转给第三方Spring容器。
Objectobj=Class.forName("包名.类名").newlnstance()把创建完的对象存储到另一个map集合中,用bean的id作为key,对象作为value。如果属性需要注入,Spring框架就会帮程序员注入数据。Spring的核心功能Spring作为IoC容器,具有最基础的功能:
DI是DependencyInjection的缩写,翻译成中文是“依赖注入”的意思。
依赖注入是由IoC容器在运行期间,动态地将某种依赖关系注入到对象之中。即:从Spring容器中取出容器中的对象,然后把对象注入到需要的地方。
依赖注入(DI)和控制反转(IoC)是从不同的角度描述的同一件事。就是指:通过引入IoC容器,利用依赖注入的方式,实现对象之间的解耦。IoC是一种思想,DI是具体的实现技术。
在Spring框架中有个AOP子框架,自己创建了一套独有的表达式语言,通过这些表达式语言,可以控制业务中某些方法横切或植入新功能,SpringAOP底层用的是动态代理,不用写动态代理代码。
MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。
View的页面数据提交给Controller,Controller调用Model处理数据,把Model处理完的结果通过Controller响应给View,View显示处理完的数据结果。
用户发起HTTPRequest请求,该请求会被提交到DispatcherServlet(前端控制器)。
由DispatcherServlet把请求的URL路径给到HandlerMapping(处理器映射器)。
HandlerMapping(处理器映射器)根据请求的URL路径,通过注解或者XML配置,寻找匹配的Handler(处理器)信息,构造执行链并返回。
DispatcherServlet将执行链返回的Handler信息发送给HandlerAdapter(处理器适配器)。
HandlerAdapter(处理器适配器)根据Handler信息找到并执行相应的Handler(常称为Controller)。
Handler执行完毕后会返回给HandlerAdapter(处理器适配器)一个ModelAndView对象(SpringMVC的底层对象,包括Model数据模型和View视图信息)。
HandlerAdapter(处理器适配器)接收到ModelAndView对象后,将其返回给DispatcherServlet(前端控制器)。
DispatcherServlet(前端控制器)接收到ModelAndView对象后,会请求ViewResoler(视图解析器)对视图进行解析。
ViewResolver(视图解析器)根据View信息匹配到相应的视图结果,并返回给DispatcherServlet(前端控制器)。
DispatcherServlet(前端控制器)接收到具体的View视图后,进行视图渲染,将Model中的模型数据填充到View视图中的request域,生成最终的View(视图)。
视图负责将结果显示到浏览器(客户端)。
MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(PlainOrdinaryJavaObject,普通的Java对象)映射成数据库中的记录。