纯代码配置 SSM 框架 (一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq809326636/article/details/80571639

纯代码配置SSM框架 (一)

SSM框架简介

SSM框架是由三套框架整合起来的。分别是 SpringSpring MVCMybatis

Spring框架

Spring是一个控制反转(IoC)和面向切面(AOP)的容器框架,适用于任何Java应用。

控制反转 IoC

控制反转(IoC)是指对象的创建权交给Spring容器,其作用是实现了程序的解耦合,对象创建的控制权不是使用者,而是框架或者容器。例如:想要调用类里面一个非静态方法,首先要通过 new 实例化一个对象,然后通过这个实例调用相关的方法 method。但是在 Spring 中,Spring 创建对象的过程,不是在代码里面实现的,而是交给 Spring 来进行配置实现的,其基本原理就是 XML配置文件+SAX解析+工厂设计模式;

面向切面 AOP

OOP技术,允许开发者定义纵向的关系,但并不适合定义横向的关系。AOP技术,将那些影响了多个类的公共行为封装到一个可复用模块,这个就是所谓的切面(Aspect)切面是那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块之间的耦合度,并有利于未来的可操作性和可维护性。最常见的使用到AOP技术就是日志功能。

AOP核心概念
  1. 连接点(Joinpoint):被拦截到的点可能是字段构造器、或者方法Spring只支持方法类型的连接点。
  2. 横切关注点:对哪些方法进行拦截,拦截后怎么处理,称之为横切关注点。
  3. 切面(aspect):类是对物体特征的抽象,切面就是对横切关注点的抽象。
  4. 切入点(pointcut):对连接点进行拦截的定义。
  5. 通知(advice):指拦截到连接点之后要执行的代码。通知分为前置后置异常最终环绕通知五类。
  6. 目标对象:代理的目标对象。
  7. 织入(weave):将切面应用到目标对象并导致代理对象创建的过程。
  8. 引入(introduction):在不修改代码的前提下,引入可以在运行期为类动态地添加一些方法或字段。

SpringAOP代理由SpringIoC容器负责生成、管理,其依赖关系也由IoC容器负责管理。因此AOP代理可以直接使用容器中的其它bean实例作为目标,这种关系可由IoC容器的依赖注入提供。

代理规则

Spring创建代理的规则:

  1. 默认使用Java动态代理来创建AOP代理,可以为任何接口实例创建代理
  2. 当需要代理的类不是代理接口的时候,Spring会切换为使用CGLIB代理,也可强制使用CGLIB代理。

Spring MVC 框架

Spring MVCSpring提供的一个强大而灵活的web框架。借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单。这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中。

Spring MVC主要由DispatcherServlet处理器映射处理器(控制器)视图解析器视图组成。他的两个核心是两个核心:

1. 处理器映射:选择使用哪个控制器来处理请求。
2. 视图解析器:选择结果应该如何渲染。

Spring MVC 接口

Spring MVC 主要有四个接口,DispatcherServlet接口、HandlerMapping接口、Controller接口、ViewResolver接口。

  1. DispatcherServlet接口:所有的请求都有经过它来统一分发。他将请求分发给Spring Controller之前,需要借助于Spring提供的HandlerMapping定位到具体的Controller
  2. HandlerMapping接口:完成客户请求到Controller映射。
  3. Controller接口:用于处理用户请求。Controller处理完用户请求,返回ModelAndView对象给DispatcherServlet前端控制器,ModelAndView中包含了模型(Model)和视图(View)。
  4. ViewResolver接口:Spring提供的视图解析器(ViewResolver)在Web应用中查找View对象,从而将相应结果渲染给客户。
DispatcherServlet

DispatcherServletWeb应用的控制器,是Spring MVC的核心。它负责接收HTTP请求组织协调Spring MVC的各个组成部分。

  1. 截获符合特定格式的URL请求。
  2. 初始化DispatcherServlet上下文对应WebApplicationContext,并将其与业务层、持久化层的WebApplicationContext建立关联。
  3. 初始化Spring MVC的各个组成组件,并装配到DispatcherServlet中。

MyBatis 框架

MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架(ORM框架)。MyBatis尽可能消除JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和JavaPOJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。

阅读更多
换一批

没有更多推荐了,返回首页