iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java中Mybatis,SpringMVC,Spring的介绍及联系
  • 104
分享到

Java中Mybatis,SpringMVC,Spring的介绍及联系

2024-04-02 19:04:59 104人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录一、mybatis1、简介2、工作原理:3、工作流程图:二、springMVC1、mvc工作原理:1.1、MVC工作原理图:2、springMVC工作原理2.1、SpringMV

一、Mybatis

1、简介

MyBatis 是一个基于 Java 的持久层框架,是对 jdbc 的封装,它让数据库底层操作变的透明。Mybatis 的操作都是围绕一个 sqlSessionFactory 实例展开的。Mybatis 通过配置文件关联到各实体类的 Mapper 文件,Mapper 文件中配置了每个类对数据库所需进行的 sql 语句映射。在每次与数据库交互时,通过 sqlSessionFactory 拿到一个sqlSession,再执行 sql 命令。在 Mybatis 中,sqlSessionFactory 可以看为一个数据库连接池,并使用的单例模式;sqlSession 就相当于一个数据库连接,它存活在某个具体的业务请求中。 创建映射器 映射器是 Mybatis 中最重要、最复杂的组件,它由一个接口和对应的 XML 文件(或注解组成)。

2、工作原理:

mybatis通过sqlSessionFactoryBuilder从mybatis-config.xml配置文件(如上图第一步)中构建出sqlSessionFactory(线程安全);然后调用sqlSessionFactory的openSession()方法直接开启一个sqlSession,在通过sqlSession实例获得Mapper.xml对象并运行Mapper.xml映射的sql语句,完成对数据库的CRUD和事务提交,每完成一次操作之后sqlSession都需要关闭.

3、工作流程图:

在这里插入图片描述

二、SpringMVC

1、MVC工作原理:

M:Model(完成业务逻辑 Service/dao/entity/)

V:View(完成界面渲染 jsp/html)

C:Controller(控制器->类似于CPU 接受请求->调用M->返回V)

1.1、MVC工作原理图:

  

2、SpringMVC工作原理

SpringMVC是一个MVC的开源框架,SpringMVC是Spring的一个后续产品,其实就是Spring在原有基础上,又提供了WEB应用的MVC模块,可以简单的把SpringMVC理解为是spring的一个模块(类似AOP,IOC这样的模块),网络上经常会说SpringMVC和Spring无缝集成,其实SpringMVC就是Spring的一个子模块,所以根本不需要同spring进行整合。

2.1、SpringMVC中的组件:

前端控制器(DispatcherServlet):接收请求,响应结果,相当于电脑的CPU。

处理器映射器(HandlerMapping):根据URL去查找处理器

处理器(Handler):(需要程序员去写代码处理逻辑的)

处理器适配器(HandlerAdapter):会把处理器包装成适配器,这样就可以支持多种类型的处理器,类比笔记本的适配器(适配器模式的应用)

视图解析器(ViewResovler):进行视图解析,多返回的字符串,进行处理,可以解析成对应的页面

2.2、SpringMvc工作原理图

在这里插入图片描述

2.3、 SpringMvc工作流程

第一步:用户发起请求到前端控制器(DispatcherServlet)

第二步:前端控制器请求处理器映射器(HandlerMapping)去查找处理器(Handler):通过xml配置或者注解进行查找

第三步:找到以后处理器映射器(HandlerMappping)像前端控制器返回执行链(HandlerExecutionChain)

第四步:前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)去执行处理器(Handler)

第五步:处理器适配器去执行Handler

第六步:Handler执行完给处理器适配器返回ModelAndView

第七步:处理器适配器向前端控制器返回ModelAndView

第八步:前端控制器请求视图解析器(ViewResolver)去进行视图解析

第九步:视图解析器像前端控制器返回View

第十步:前端控制器对视图进行渲染

第十一步:前端控制器向用户响应结果

2.4、 SpringMVC重点

在于它的流程和注解,包括控制器、视图解析器、视图等内容;

三、Spring

1、简介:

Spring是一种多层的J2EE应用程序框架,其核心就是提供一种新的机制管理业务对象及其依赖关系。它是一种容器框架,用于创建bean,维护bean之间的关系,它可以管理web层,持久层,业务层等,可以配置各个层的组件并且维护各个层的关系

2、Spring原理:

内部最核心的就是IOC了,动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射,反射其实就是在运行时动态的去创建、调用对象,Spring就是在运行时,跟xml Spring的配置文件来动态的创建对象,和调用对象里的方法的 。

Spring还有一个核心就是AOP这个就是面向切面编程,可以为某一类对象 进行监督和控制(也就是 在调用这类对象的具体方法的前后去调用你指定的 模块)从而达到对一个模块扩充的功能。这些都是通过 配置类达到的。

Spring目的:就是让对象与对象(模块与模块)之间的关系没有通过代码来关联,都是通过配置类说明管理的(Spring根据这些配置 内部通过反射去动态的组装对象)

要记住:Spring是一个容器,凡是在容器里的对象才会有Spring所提供的这些服务和功能。

Spring里用的最经典的一个设计模式就是:模板方法模式。(这里我都不介绍了,是一个很常用的设计模式), Spring里的配置是很多的,很难都记住,但是Spring里的精华也无非就是以上的两点,把以上两点跟理解了 也就基本上掌握了Spring.

3、Spring AOP与IOC

3.1、 IoC(Inversion of control): 控制反转

1、IoC:

概念:控制权由对象本身转向容器;由容器根据配置文件去创建实例并创建各个实例之间的依赖关系

核心:bean工厂;在Spring中,bean工厂创建的各个实例称作bean

3.2、AOP(Aspect-Oriented Programming): 面向方面编程

1、 代理的两种方式:

静态代理:

  • 针对每个具体类分别编写代理类;
  • 针对一个接口编写一个代理类;

动态代理:

针对一个方面编写一个InvocationHandler,然后借用jdk反射包中的Proxy类为各种接口动态生成相应的代理类

动态代理知识补充:

不用写代理类,虚拟机根据真实对象实现的接口产生一个类,通过类实例化一个动态代理,在实例化动态代理时将真实对象及装备注入到动态代理中,向客户端公开的是动态代理,当客户端调用动态代理方法时,动态代理根据类的反射得到真实对象的Method,调用装备的invoke方法,将动态代理、

Method、方法参数传与装备的invoke方法,invoke方法在唤起method方法前或后做一些处理。


         1、产生动态代理的类:

                        java.lang.refect.Proxy

         2、装备必须实现InvocationHandler接口实现invoke方法

3.3、spring的几个阶段:

在这里插入图片描述

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: Java中Mybatis,SpringMVC,Spring的介绍及联系

本文链接: https://www.lsjlt.com/news/154449.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java中Mybatis,SpringMVC,Spring的介绍及联系
    目录一、Mybatis1、简介2、工作原理:3、工作流程图:二、SpringMVC1、MVC工作原理:1.1、MVC工作原理图:2、SpringMVC工作原理2.1、SpringMV...
    99+
    2024-04-02
  • Java中的方法内联介绍
    目录1. 什么是方法内联2. 方法内联的重要性3. Java中方法内联的困难继承类型关系分析 CHA总结 1. 什么是方法内联 例如有下面的原始代码: static cla...
    99+
    2024-04-02
  • 【Java系列】Mybatis-Plus 使用方式介绍
    1 Mybatis-Plus简介 Mybatis-Plus 提供了多种方式来执行 SQL,包括使用注解、XML 映射文件和 Lambda 表达式等。其中,使用 Lambda 表达式是 Mybatis-Plus 推荐的方式,因为它更加直...
    99+
    2023-08-31
    mybatis java 开发语言 原力计划
  • SpringMVC+Shiro的基本使用及功能介绍
    目录一.介绍二.基本功能三.使用Maven包四.用户登录五.Reaml六.登录失败次数限制七.退出登录八.创建Ecache缓存以及时效一.介绍 Apache Shiro是Java的一...
    99+
    2024-04-02
  • java中BigDecimal的介绍及使用
    BigDecimal是Java中的一个类,用于表示任意精度的十进制数。它提供了精确的数值计算,避免了浮点数计算时的精度损失。使用Bi...
    99+
    2023-09-09
    java
  • Spring中的bean概念介绍
    目录1 定义2 控制反转(IoC)2.1 私有属性保存依赖2.2 让Spring控制类构建过程2.3 这就是IoC3 Bean?Bean是Spring框架中最核心的两个概念之一(另一...
    99+
    2024-04-02
  • java Spring Boot的介绍与初体验
    目录Spring Boot 介绍系统要求构建工具Servlet 容器初体验总结Spring Boot 介绍 Spring Boot用于创建可运行的、独立的、生产级的基于Spring的...
    99+
    2024-04-02
  • jpa介绍以及在spring boot中使用详解
    目录1.什么是jpa呢?2.jpa具有什么优势?2.1标准化2.2容器级特性的支持2.3简单方便2.4查询能力2.5高级特性3.基于注解的使用3.1 JPA拥有哪些注解呢?4.代码实...
    99+
    2024-04-02
  • Java中工厂模式的介绍及应用
    本篇内容介绍了“Java中工厂模式的介绍及应用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!介绍意图:提供一个创建一系列相关或相互依赖对象的...
    99+
    2023-06-05
  • Java中守护线程介绍及使用
    目录一、什么是守护线程二、为什么需要守护线程三、如何使用注意:总结一、什么是守护线程 在说守护线程之前,我们先说一下什么是用户线程。 用户线程:我们平常创建的普通线程。守护线程(即 ...
    99+
    2024-04-02
  • Java的框架及优缺点介绍
    本篇内容主要讲解“Java的框架及优缺点介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java的框架及优缺点介绍”吧!  1、SpringMVC  中国有句...
    99+
    2024-04-02
  • Java中的抽象介绍
    目录1.抽象类和抽象方法2.何时在示例中使用抽象类和抽象方法3.封装与数据抽象4.抽象的优点前言: 数据抽象是一种仅向用户显示基本细节的属性。不向用户显示琐碎或非必需的单元。例如:汽...
    99+
    2024-04-02
  • C#中内联函数的用法介绍
    C++ 中有个内联函数,使用 inline 来修饰函数,编译器就会对其进行优化,将此函数作为代码判断插入到调用处。 函数调用在执行时,首先要在栈中为形参和局部变量分配存储空间,然后还...
    99+
    2024-04-02
  • Java中super关键字介绍以及super()的使用
    目录1、super的使用:2、先复习一下this关键字的使用。3、super关键字:总结:1、super的使用: (1)super是一个关键字。 (2)super和this很类似,我...
    99+
    2024-04-02
  • JavaScript中的Object介绍及作用
    本篇内容介绍了“JavaScript中的Object介绍及作用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2024-04-02
  • Java算法中的选择排序的介绍及实现
    本篇内容主要讲解“Java算法中的选择排序的介绍及实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java算法中的选择排序的介绍及实现”吧!选择排序(Selection Sort)简介:选择排...
    99+
    2023-06-02
  • Java中15种锁的介绍
    这篇文章主要介绍“Java中15种锁的介绍”,在日常操作中,相信很多人在Java中15种锁的介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java中15种锁的介绍”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-02
  • 有关Java中的BeanInfo介绍
    目录1、JavaBean介绍2、JavaBean的自省3、JavaBean内省工具Introspector4、JavaBean内省结果BeanInfo5、内省结果BeanInfo的类...
    99+
    2024-04-02
  • JAVA中的SPI思想介绍
    目录1. SPI介绍2. SPI规则3. SPI案例3.1 组件的定义3.2 组件的实现3.3 组件的选用4. SPI原理5. SPI要求6. SPI应用总结1. SPI介绍 SPI...
    99+
    2024-04-02
  • Java中CompletableFuture 的详细介绍
    目录1.概述1.0 创建 CompletableFuture 的对象的工厂方法1.1 non-async 和 async 区别1.1.1 non-async 示例:注册 action...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作