# SSM_learning **Repository Path**: weiyin2002/SSM_learning ## Basic Information - **Project Name**: SSM_learning - **Description**: 一个可以帮你节省点时间的SSM学习项目 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-01-10 - **Last Updated**: 2023-09-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: Spring-MVC, Spring, SpringBoot, MyBatis, Tomcat ## README # SSM_Learning SSM速成学习! ## 项目包含什么? 本项目中包含Mybatis、Spring、SpringMVC相关技术栈学习的独立项目文件,配合原理演示和一些关键的注释解释。每个小项目均为maven项目,可以拆分导入到自己的IDEA中。 因为本人就是纯正的新手,所以此项目的大部分内容都比较粗浅,仅适合作为快速入门/速成后临时运用的参考。 ## 参照什么写的? 参照bilibili上的公开教程: Spring和SpringMVC主要参考: ~~~ https://www.bilibili.com/video/BV1Fi4y1S7ix/ ~~~ Mybatis部分主要参考: ~~~ https://www.bilibili.com/video/BV1Ya411S7aT/ https://www.bilibili.com/video/BV1WZ4y1P7Bp/ ~~~ 水平有限评价不了课程的好坏,只能说我还算是听懂了。 ## 应当说明的缺陷和不足 三大框架的开发都分配置开发和注解开发两种方式。一般的学习中,不少人推荐先学明白配置开发,再学注解开发。 本工程也基本按照这种思路,但是有一些地方有偷懒行为,如AOP的配置开发案例并没有给出,以后可能会再补上。 也有一些地方的承接不甚清晰,所以如果什么地方看不懂,那不一定是你不会,而是我没有写清楚。这样的话推荐去找相关课程仔细看看。 ## 有什么用? 不太确定。本质上整个项目就是个人笔记,不能保证每个人都能看懂,但我尽可能在关键处标明了注释。不过根据我学习时的经验,可能有如下用途: 1. 项目中的代码都很直观,且全部调试完毕,自己学习的时候工程调试不来可以参考; 2. 帮助你明确的分块学习,可以一个部分一个部分的看代码,具体划分在下方目录注明; 3. 有可能能帮助你熟悉一下Git操作; 4. 如果你是大学生,刚好在学这门课,也许可以充当一下课堂笔记……如果你们真的查这个东西的话。 ## 怎么用? 1. 第一次克隆项目。使用命令 ~~~ git clone https://gitee.com/weiyin2002/SSM_learning.git ~~~ 或者你也可以直接在gitee页面下载zip包。 该项目一般不会需要pull的。 2. 根目录下的每个文件夹代表每个部分课程的项目,可以分别独立导入。在IDEA中新建一个项目,选择“file - project structure”,点加号导入新项目即可。 3. 看就完了! *** ## 目录 ### Mybatis #### 概要 01 - 02 Mybatis基础 03 - 05 Mybatis通常使用 06 - 08 Mybatis高级操作 #### 环境 1. JDK11; 2. 本地MySQL环境:5.7.36,代码中的配置兼容MySQL8.0+; 3. 标准Maven工程,maven库版本3.8.6; 4. 其他配置请见工程的pom.xml。 #### 详细内容 | 序号 | 章节 | 内容 | |-----|-------|----------------------------------------------------------------| | 01 | 快速开始 | 一个最简单的Mybatis工程。 | | 02 | 配置 | 对Mybatis配置文件的说明。 | | 03 | 参数传递 | 使用动态参数执行MySQL语句。 | | 04 | 特别用法 | 展示了三种业务中常见的语句写法。 | | 05 | 结果集 | 展示了如何使用结果集,并演示了多对一(对象)和一对多(集合)多表操作的用法,包括级联、一般方法、分步查询。 | | 06 | 动态SQL | 展示了动态SQL的使用方式。 | | 07 | 逆向工程 | 展示了如何生成和使用Mybatis逆向工程配置。 | | 08 | 注解开发 | 展示了使用纯注解模式开发Mybatis的方法。 | ### Spring #### 概要 01 - 04 spring基础和控制反转 05 - 08 依赖注入 09 - 11 注解开发 12 - 14 面向切面编程 15 spring事务 #### 环境 1. JDK11; 2. Spring5.0; 3. 本地MySQL环境:5.7.36,代码中的配置兼容MySQL8.0+; 4. 标准Maven工程,maven库版本3.8.6; 5. 其他配置请见工程的pom.xml。 #### 详细内容 | 序号 | 章节 | 内容 | |------|-------------|-------------------------------------------------------| | 01 | 快速开始 | 一个最简单的spring工程结构,使用配置开发,包含数据层和业务层。 | | 02 | 基本配置 | 记录了spring配置开发的一些基本属性。 | | 03 | bean实例化 | 展示了三种bean实例化的方式:构造方法、静态工厂、实例工厂(常规实例工厂和FactoryBean方式)。 | | 04 | 生命周期 | 展示两种生命周期的使用方式:配置属性和实现接口。 | | 05 | 依赖注入 | 展示了依赖注入的两种方式:setter方法和构造器。以及如何使用两种方式注入对象和简单类型。 | | 06 | 自动装配 | 展示了如何使用配置开发实现自动装配。 | | 07 | 集合装配 | 展示了几种常用的集合类型的装配方式。 | | 08 | 第三方bean | 展示了如何配置第三方bean,以及导入properties文件配置的方法。 | | 09 | 注解开发 | 展示了如何使用配置类替换配置文件,并使用注解实现快速开发。(保留了使用配置文件实现组件扫描的方法) | | 10 | 整合Mybatis | 展示了一个spring整合mybatis的最简案例。(Mybatis配置使用逆向工程生成) | | 11 | 整合JUnit | 展示了一个spring整合JUnit的最简案例。 | | 12 | 面向切面编程基础 | 展示了一个AOP注解开发的案例。 | | 13 | AOP案例 | 采用AOP配合JUnit实现了一个简易的千次测试程序。 | | 14 | AOP数据拦截 | 展示了AOP如何获得原始对象的各种数据。 | | 15 | spring事务 | 一个简单的转账案例,展示了spring事务的基本功能。 | ### SpringMVC #### 概要 01 - 02 SpringMVC基础 03 - 05 SpringMVC接管Servlet 06 SSM整合 #### 环境 1. JDK11; 2. Spring5.0; 3. 本地MySQL环境:5.7.36,代码中的配置兼容MySQL8.0+; 4. webapp Maven工程,maven库版本3.8.6; 5. tomcat9.0.65,不推荐比tomcat9更低的服务器,可能无法启动; 6. 其他配置请见工程的pom.xml。 #### 详细内容 | 序号 | 章节 | 内容 | |-----|---------|--------------------------------------------| | 01 | 快速开始 | 一个最简单的MVC结构的工程,使用注解开发。 | | 02 | 基本配置 | 展示了如何在Spring和SpringMVC共存的情况下管理bean的加载。 | | 03 | 请求 | 展示了各种传递请求的方式。包括请求头、请求体(JSON)、日期时间传递。 | | 04 | 响应 | 展示了各种发回响应的方式。包括发回页面、字符串、JSON。 | | 05 | RESTful | 展示了RESTful风格的请求路径在SpringMVC中的使用。 | | 06 | SSM整合 | 展示了一个最基本的三大框架及JUnit整合方案。其中Mybatis使用配置式开发。 |