SpringMVC的使用和mybatis介绍

本周主要学习了SpringMVC的使用和mybatis介绍

SpringMVC概念:

1.Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架

2.使用了MVC架构模式的思想,将web层进行职责解耦

3.基于请求驱动指的就是使用请求-响应模型

4.框架的目的就是帮助我们简化开发,

Spring Web MVC也是要简化我们日常Web开发的。

SpringMVC原理:

过程说明:

1.用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获;

2.DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关的对象(包括Handler对象以及Handler对象对应的拦截器),最后以HandlerExecutionChain对象的形式返回;

3.DispatcherServlet 根据获得的Handler,选择一个合适的HandlerAdapter。(附注:如果成功获得HandlerAdapter后,此时将开始执行拦截器的preHandler(…)方法)

4.提取Request中的模型数据,填充Handler入参,开始执行Handler(Controller)。 在填充Handler的入参过程中,根据你的配置,Spring将帮你做一些额外的工作:

HttpMessageConveter: 将请求消息(如Json、xml等数据)转换成一个对象,将对象转换为指定的响应信息

数据转换:对请求消息进行数据转换。如String转换成Integer、Double等

数据根式化:对请求消息进行数据格式化。 如将字符串转换成格式化数字或格式化日期等

数据验证: 验证数据有效性长度、格式等,验证结果存储到BindingResult或Error中

5.Handler执行完成后,向DispatcherServlet 返回一个ModelAndView对象;

6.根据返回的ModelAndView,选择一个适合的ViewResolver(必须是已经注册到Spring容器中的ViewResolver)返回给DispatcherServlet ;

7.ViewResolver 结合Model和View,来渲染视图

8.将渲染结果返回给客户端。

SpringMVC九大组件

** MultipartResolver used by this servlet 文件上传解析器*/

private MultipartResolver multipartResolver;

/** LocaleResolver used by this servlet 国际化解析器*/

private LocaleResolver localeResolver;

/** ThemeResolver used by this servlet 主题解析器*/

private ThemeResolver themeResolver;

/** List of HandlerMappings used by this servlet 保存了请求与类的映射关系(哪个请求用哪个类来处理)*/

private List<HandlerMapping> handlerMappings;

/** List of HandlerAdapters used by this servlet适配器;用来执行控制器(处理器)目标方法的*/

private List<HandlerAdapter> handlerAdapters;

/** List of HandlerExceptionResolvers used by this servlet 异常解析器*/

private List<HandlerExceptionResolver> handlerExceptionResolvers;

/** RequestToViewNameTranslator used by this servlet 转化器*/

private RequestToViewNameTranslator viewNameTranslator;

/** FlashMapManager used by this servletFlashMap 管理器 */

private FlashMapManager flashMapManager;

/** List of ViewResolvers used by this servlet视图解析器 */

private List<ViewResolver> viewResolvers;

相关jar包:

拦截器工作原理

类似于filter的一个对象,用于预处理以及后处理处理器(控制器)。

mybatis介绍

 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

使用mapper接口方式必须满足:

1 映射文件的namespace的值必须是接口的全路径名称 比如:com.dpb.dao.UserMapper

2 接口中的方法名在映射文件中必须有一个id值与之对应。

3 映射文件的名称必须和接口的名称一致

MyBatis的功能架构:

我们把Mybatis的功能架构分为三层:

API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。

数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。

基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。

MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置(settings)和属性(properties)信息。文档的顶层结构如下:

configuration 配置

properties 属性

settings 设置

typeAliases 类型别名

typeHandlers 类型处理器

objectFactory 对象工厂

plugins 插件

environments 环境

environment 环境变量

transactionManager 事务管理器

dataSource 数据源

databaseIdProvider 数据库厂商标识

mappers 映射器

Mybatis 的内置日志工厂提供日志功能,内置日志工厂将日志交给以下其中一种工具作代理:

  • SLF4J
  • Apache Commons Logging
  • Log4j 2
  • Log4j
  • JDK logging

原文地址:https://www.cnblogs.com/whymoney1000/p/10962862.html

时间: 2024-08-29 19:32:46

SpringMVC的使用和mybatis介绍的相关文章

MyBatis 介绍、简单入门程序

JDBC 编程中的问题 1. 将 SQL 语句硬编码到 Java 代码.不利于系统维护. 设想怎样解决:将SQL单独抽取出来,在配置文件(xml方式.properties文件)进行配置. 2. 数据库连接不能反复利用,对数据库资源是一中浪费. 设想怎样解决:使用数据库连接池管理数据库连接. 3. 向 Statement 设置參数时,对于參数的位置通过硬编码指定,不利于系统维护. 设想怎样解决:是否可以自己主动将 Java 对象的值设置到 Statement. 4. 遍历结果集.resultSet

1. Mybatis介绍

1.    Mybatis介绍 what is mybatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索.MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录. 市场上所用的框架 Hibernate jdbcTemplate ibatis m

菜鸟级springmvc+spring+mybatis整合开发用户登录功能(上)

菜鸟级springmvc+spring+mybatis整合开发用户登录功能(上) 菜鸟级springmvc+spring+mybatis整合开发用户登录功能(下)

mybatis介绍和mybatis快速入门

1.mybatis介绍 mybatis是支持普通sql查询,存储过程和该机映射的持久层(把java对象存储到数据库中)框架.几乎消除jdbc代码和手动设置参数以及对结果集的检索封装.mybatis可以使用映射文件xml,接口dao来操作实体类bean. 2.mybatis快速入门 1.建立数据库表users create database mybatis; use mybatis; CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, NAM

基于SpringMVC、Maven以及Mybatis的环境搭建 【转】

搭建环境 1.IDE用的是Eclipse的J2EE版本,要保证装上了Maven,可以使用Eclipse的Install New Software来安装然后点击Next,安装好后重启一次.注意:使用最新版的Eclipse时,可以跳过此步,因为最新版的Eclipse已经内置了Maven.2.安装好了Maven后,不要使用IDE自带的Maven,而是去官方下载一个,然后让IDE的Maven指向你下载安装的Maven路径,如图: 三.创建Maven项目 1.创建一个新的Maven Project,Fil

mybatis介绍与环境搭建

一.不用纯jdbc的原因,即缺点. 1.数据库理解,使用时创建,不用时释放,会对数据库进行频繁的链接开启和关闭,造成数据库的资源浪费,影响数据库的性能.设想:使用数据库的连接池.2.将sql语句硬编码到java代码中,不利于系统维护.设想:将sql放到配置文件中.3.向preparedstatement中设置参数,对占位符位置和设置参数值,硬编码在Java代码中,不利于系统维护.设想:将sql语句及占位符配置到xml中.4.从resultset中便利结果集时,存在硬编码,将获取表的字段进行硬编码

SpringMVC学习5-springmvc与mybatis的整合

1.需求: 使用springmvc和mybatis完成商品列表查询. 2.整合思路: springmvc 和mybatis系统架构 第一步:整合dao层 mybatis和spring整合,通过spring管理mapper接口. 使用mapper的扫描器自动扫描mapper接口在spring中进行注册. 第二步:整合service层 通过spring管理 service接口. 使用配置方式将service接口配置在spring配置文件中. 实现事务控制. 第三步:整合springmvc 由于spr

项目搭建系列之二:SpringMVC框架下配置MyBatis

1.什么是MyBatis? MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录. 回到目录 2.环境准备 搭建好SpringMVC框架,可以阅读<项目搭建系列之一:使用Maven搭建SpringMVC项目>,也可以直

SpringMvc和servlet简单对比介绍

引言:由于最近要开始springMVC的学习,所以现在先简单介绍一下springMVC,自己也是一个初学者,所以也有很多不懂,主要是以讨论为主. 一.servlet实现登录. 咱们先来看一下servlet实现注册登录. <servlet> <servlet-name>LoginServlet</servlet-name>                                3 <servlet-class>demo.servlet.LoginSer