Spring框架的知识整理(项目流程)以及SSM框架的整合

2023-05-16

前言

上一篇文章我们发表Mybatis框架的学习心得,以及针对一个项目而言说了一些流程。

Spring学习的时候我们需要知道它的两个核心功能Ioc,Aop,本文今日对Ioc做重点解释。

Ioc功能阐述

Ioc,主要是一个容器我们可以把对象的创建过程交给这个容器,让这个容器去帮助我们管理对象。引入一个单词 Bean,翻译过了就是豌豆荚,豌豆荚整个外面的果皮包含着很多颗豌豆,这就类似我们的Ioc包含了很多Bean一样的。

前期准备

有两个思路,一个就是类似于我前面mybatis那样子做前期准备(https://blog.csdn.net/qq_56252808/article/details/125055153?spm=1001.2014.3001.5502)

另一个就是使用逆向工程,自动生成Mapper.xml,以及Mapper.class,以及entity中的实体类。

 逆向工程的使用很简单,首先下载相应的工具。(解压后的文件)

在此处我们只需要干这么几件事情,在config.xml文件中指定数据库的连接,以及逆向工程文件的生成路径,以及需要生成哪些表。

 

 

 

好了到了这里,我们就完成前期准备。以上留给后面使用。

Spring Ioc的几种方式,分为注解和配置文件的。

首先配置一个Spring-ioc.xml文件,里面主要是使用<beam>在容器中配置dao层的类,也可以使用包扫描的形式。

此处已经将我们的Bean对象放到了容器中,接下来我只要在测试类中注入测试一下。 (这里又可以分为两步走)一个是Java代码使用 ClassPathXmlApplicationContext 去读取配置文件而后生成一个

ApplicationContext 的对象。然后在使用这个对象去获取相应的bean对象

第二种则是使用注解(ContextConfigruation)读取配置文件

到此处我们就已经说完了Spring ioc容器管理的xml形式。接下来使用AppConfig.class来管理对象

AppConfig.class管理对象

声明一个类为管理类,而且给整个类加上Configguration注解,然后再给里面方法也就是对应返回实例化对象加上Bean注解到此处。

之后我们实例化对象已经放到了Ioc容器中我只需要取出来即可,还是有两种方式,Java手动读取配置类,注解读取配置类。

使用注解读取配置类和注解读取配置文件没有区别。

再使用Java代码时候 读取配置文件使用了ClassPathXmlApplicationContext

读取配置类的时候使用的是AnnotationConfigApplicationContext

到此处已经说完了关于ioc容器管理的核心点,还有一些设值注入,集合注入,构造器之类的后面的文章会对这种知识进行补充说明。 

SSM框架整合

整体思路: 先准备好mybatis部分,在准备Spring部分。

准备Mybatis部分前面的前期准备我们已经做完了。可以参考顶上那一段。

接下来准备Spring部分,准备Spring-ioc.xml,SpringMVC.xml

我们准备这两个文件有两个原因 将mybtis的配置文件放入里面,因为以前Mybatis的获取对象是要用SqlSessionFactory,去生成对象,现在我们就要用Spring的ioc去帮助我们管理这个东西生成对象,

这个配置中了,主要是开启了一个全局的SqlSessionFactory,获取dao/mapper本质来讲还是不变的只是我们利用Spring的Ioc这样子我们才能做到自动的,然后下面有两个包扫描,这个是我们的Di注入的方式,将mapper/dao放到service ,Service放到controller中,最早期的是一个bean标签下面写上很多的property太麻烦了所以使用这种包扫描的去偷个懒。

SpringMVC的配置文件主要是配置前端解析器,让我们的路由能够走通

 下面是service以及Controller的代码。分别使用@Service,@RestController注解表明是哪一层的代码

稍后我们马上启动这个完整的程序,给大家演示下。 

访问地址 及控制层代码

 

返回的结果 数据库中的数据,这里讲的是怎么整合,所以就没有写一个页面

好了,到了这里补充几点,如果使用Tomcat而且是父子项目均为空项目要自己去部署,

(在module里面加上Spring的 然后指定下web.xml的位置)

然后一定要配置前端控制器以及引入jsp的依赖不然在页面是看不到的。

那么就在讲讲SpringMVC的流程图把,相信我能够讲的很清楚

SpringMVC流程

  客户端发起请求--->前端控制器(DispatcherSverlet)-->查找有无地址(在HandlerMapping)-->返回一个执行链给前端控制器-->HandlerAdapter(处理器适配器)-->在Handler(Controller)中执行-->返回ModeAndView(模型和数据)-->返回给DispatcherServlet-->视图解析器(ViewResolver)-->交给浏览器渲染了。

总的来说就是DispatcherServlet负责查找请求 找到了就返回给适配器 然后交给Controller处理

返回数据和视图给DispatcherServlet 然后去显示到页面上。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring框架的知识整理(项目流程)以及SSM框架的整合 的相关文章

随机推荐

  • Java——泛型和Io流

    目录 1 泛型 2 File对象 3 IO流 4 字节输入和输出流 5 缓存流 6 对象流 1泛型 1 1什么是泛型 1 泛型就是限制我们得数据类型 2 为什么使用泛型 我们原来在定义集合时 xff0c 是如下得定义方式 xff1a Lis
  • Spring框架入门学习笔记

    Spring概述 目录 Spring概述 IOC容器 概念 底层原理 Spring提供IOC容器实现两种方式 基于xml方式实现属性注入和对象创建 属性注入 xml注入集合属性 Spring中的bean类型 bean的作用域 bean的生命
  • &和&&的区别?

    amp 和 amp amp 都是Java中的逻辑运算符 xff0c 用于对两个布尔值进行逻辑运算 xff0c 但它们有着不同的特点和使用场景 xff0c 具体区别如下 xff1a 1 运算规则 amp 是按位与运算符 xff0c 它会对两个
  • MAC电脑GOland2022.2.1版本DEBUG问题

    在使用goland使用debug调试代码出现 API server listening at 127 0 0 1 56871 could not launch process debugserver or lldb server not f
  • Maven连接数据库

    1 创建一个maven项目 2 在resources中创建db properties配置文件和log4j properties日志的配置文件 db username 61 root db password 61 root db url 61
  • 关于vs2019网络问题解决方案

    首先将IPV4 的DNS设置为默认的114 114 114 114 xff0c 备用DNS为8 8 8 8 xff0c 若没有用 xff0c 则不勾选IPV6 xff0c 亲测有效 这个问题曾经也困扰了我好几个月 xff0c 甚至都想换掉v
  • Spring Boot启动器

    文章目录 Spring Boot启动器简介自定义springboot启动器命名规约自定义starter步骤1 创建一个Spring boot项目2 导入pom3 编写配置类4 在resources META INF目录下新建spring f
  • web开发入门

    在vscode中输入英文 xff0c 按tab键 xff0c 叩可显示html5的框架 搭建好框架之后 xff0c 再进行局部设计即可制作一张简易静态网页
  • springboot学习笔记

    http t csdn cn aLaeJ
  • spring中的annotation简介

    1 注解介绍 注解 xff0c 是一种用来描述数据的数据 比如说 64 override表示我们重载父类函数 如果我们不用这个注解 xff0c 程序也能执行 xff0c 但是我们加了这个注解代表我告诉编译器这个方法是一个重写的方法 如果父类
  • C语言中如何使用字符数组和字符型指针变量

    案例一 使用字符数组统计字符串的长度以及实现字符串的反转 参考代码 xff1a include lt stdio h gt include lt stdlib h gt include lt string h gt int main cha
  • 拓扑排序详解

    提示 xff1a 古人学问无遗力 少壮功夫老始成 xff0c 纸上得来终觉浅 觉知此事须躬行 文章目录 一 AOV网的特点二 问题三 拓扑排序四 拓扑排序的方法五 检查AOV网中是否存在一个环六 两种思路6 1 思路一6 1 1 思路一代码
  • Altium Designer——设置电源线规则

    1 创建类来新建规则 执行菜单Design Classes 快捷键DC 将这多个网络建立一个class 执行菜单命令Design Rules 快捷键DR xff09 xff0c 进入规则设置栏 xff1b 新建个线宽规则 xff0c 在规则
  • 【Archlinux】(3) —— dwm+st+firefox+fcitx=愉快上网

    Archlinux dwm 43 st 43 firefox 43 fcitx 61 愉快上网 1 dwm窗口管理器2 ST简单终端3 firefox浏览器4 fcitx中文输入法参考资料 注意 后的命令是root用户和普通用户均可以的操作
  • idea创建maven项目产生卡死问题

    2021版idea创建maven项目时卡死问题解决 xff1a 问题描述 xff1a 在file project structure中新建maven的modules时 xff0c 点击finish后idea会卡死 xff0c 其他人有的说要
  • SpringBoot配置环境

    typora copy images to upload 微服务架构 第一个Spring Boot程序 jdk 1 8maven 3 6 1springboot 最新版IDEA 修改端口号 banner banner在线制作网站 Sprin
  • 【坑】导入项目报错Could not find com.android.tools.build:gradle:7.4.0

    报错的图没得了 xff0c 反正就是Could not find com android tools build gradle 7 4 0 这个报错解决思路 xff1a 1 首先导入项目你不要直接File Open xff0c 你要FIle
  • 通过adb命令安装卸载apk

    一 安装apk xff1a 1 正常安装APK adb install xxxx apk 2 覆盖安装APK adb install r xxxx apk 2 安装测试APK adb install t xxxx apk 3 组合使用 ad
  • 使用VNC远程连接云服务器,连接超时问题

    这里用的本地VNC工具为VNC viewer xff0c 使用的服务器为腾讯云CentOS服务器 已经在服务器端完成了图形化界面的安装以及开启vncserver xff0c 但是无法连接 已经创建完成vnc的服务器端 开启vnc命令 vnc
  • Spring框架的知识整理(项目流程)以及SSM框架的整合

    前言 上一篇文章我们发表Mybatis框架的学习心得 xff0c 以及针对一个项目而言说了一些流程 Spring学习的时候我们需要知道它的两个核心功能Ioc Aop xff0c 本文今日对Ioc做重点解释 Ioc功能阐述 Ioc 主要是一个