《SSM深入解析》目录导航与汇总
Posted 谙忆
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《SSM深入解析》目录导航与汇总相关的知识,希望对你有一定的参考价值。
《SSM深入解析》
文章目录
- 1 谈谈SSM框架和Redis
- 2 类加载器、反射和动态代理
- 3 设计模式
- 4 了解Spring MVC
- 5 Spring MVC基础
- 6 深入Spring MVC的九大组件
- 7 Spring MVC基础应用
- 8 Spring MVC核心应用
- 9 MyBatis组件
- 10 MyBatis的XML配置文件
- 11 MyBatis的XML映射文件
- 12 动态SQL(Dynamic SQL)
本文地址:
《SSM深入解析》
此为SSM源码解析和核心特性部分的目录导航。
《SSM项目实战》的目录导航地址:
《SSM项目实战》
为方便订阅的朋友查看,本文将已更新的文章整理出来(为方便有的朋友想直接学习实战部分,实战部分已经开了专栏,欢迎订阅:SSM项目实战
未订阅的朋友,也可以看看,我知道网上对于SSM的知识有很多,但是从源码分析、系统的知识到最后的企业项目实战,一定不多,在你翻阅网上知识学习SSM知识,东看西看的时候,时间已经流逝,从原理跳到使用,从使用跳到原理,无法形成有效的,系统的知识汇总。为什么很多朋友对于有些东西学过就忘了,或者是完全不想去学习,因为你学习这些知识的过程是难受的,是不成体系的,你的时间很宝贵,有时候免费的可能才是最贵的。
也有些朋友认为现在都是分布式、微服务了,学什么SSM,老掉牙的东西了。
我想说的是,框架这东西的学习不是一簇而就的,你直接学习Spring Boot,Spring Cloud是可以,但是你会发现在学习的过程中,你对于一些注解,对于一些原理始终不懂为什么,这是因为boot和cloud都是建立的Spring的基础上,将Spring进行了封装,再封装,你能够了解的细节,真的不多。
不要等业务开发到达一个瓶颈,而离管理又有些距离的时候,才想到,是不是我对于一些基础还不够了解,基础不够扎实。
最后,希望本专栏能够帮助到将要学习SSM、正在学习SSM、复习SSM知识的朋友
1 谈谈SSM框架和Redis
1.1 了解Spring框架 -《SSM深入解析与项目实战》
- 如何学习Spring
- IoC(Inversion of Control 控制反转)
- AOP(Aspect Oriented Programing面向切面编程)
- MyBatis简介
- Hibernate简介
- MyBatis和Hibernate的比较
1.3 Spring MVC、Redis介绍 -《SSM深入解析与项目实战》
- 了解Spring MVC
- 了解Redis
- Spring、Spring MVC、MyBatis的分工合作
2 类加载器、反射和动态代理
2.1 类加载器、 双亲委派模型 -《SSM深入解析与项目实战》
- 对象的实例流程
- 双亲委派模型
2.1.2 类加载器的工作原理与自定义加载器 -《SSM深入解析与项目实战》
- 类加载器的工作原理
- 类加载器加载流程
- 将项目打成jar包
- 自定义类加载器
- 场景问题
- 自定义类加载器
- 热部署的简单原理
2.2.2 类反射场景与使用 -《SSM深入解析与项目实战》
- 获取Class对象的三种方式
- 反射的应用场景与优缺点
- 第一种方式:没有使用泛型
- 第二种方式:使用泛型
- 实现类和接口与演示
- 代理类优化
2.3.3 CGLIB动态代理 -《SSM深入解析与项目实战》
2.4 Apache Maven工具介绍 -《SSM深入解析与项目实战》
- Windows系统安装Maven
- IDEA配置Maven
- Maven的一些常用命令
3 设计模式
3.1 单例模式(Singleton Pattern) -《SSM深入解析与项目实战》
- 懒汉式单例类
- 先对线程不安全的实例进行演示
- 线程不安全的懒汉式单例类
- 线程安全的懒汉式单例类
- 线程安全的懒汉式单例类
- 双重检验模式
- 静态内部类懒汉式实现
- 先对线程不安全的实例进行演示
- 饿汉式单例类
3.2.1 简单工厂模式(Simple Factory Pattern) -《SSM深入解析与项目实战》
3.2.2 工厂方法模式(Factory Method Pattern) -《SSM深入解析与项目实战》
- 公共工厂接口
- AliPayImplFactory工厂类
- WxPayImplFactory工厂类
- 工厂方法模式测试类
3.2.3 抽象工厂模式(Abstract Factory) -《SSM深入解析与项目实战》
- 抽象产品接口
- 具体产品实现
- 抽象工厂
- 抽象工厂的实现
- 抽象工厂模式测试
3.3 代理模式(Proxy Pattern) -《SSM深入解析与项目实战》
3.4 策略模式(Strategy Pattern) -《SSM深入解析与项目实战》
- 策略模式的定义
- 策略模式的作用
- 模式结构
- 场景实例
- 抽象策略角色
- 具体的策略角色
- 上下文角色
3.5 模板模式(Template Pattern) -《SSM深入解析与项目实战》
- 策略模式与模板模式
- 场景实例
- 抽象模板角色&具体模板角色
- 抽象模板类
- 具体模板角色
- MVC中三大组件
- MVC的优点
- MVC实现
4 了解Spring MVC
4.1 了解Spring MVC -《SSM深入解析与项目实战》
- Spring MVC架构特点
- Spring MVC是什么
- Spring MVC能做什么
- Spring MVC体系结构
- 运行流程
- Handler和Controller的联系
- Spring MVC组件说明
- DispatcherServlet(前端控制器)
- HandlerMapping(映射处理器)
- Handler(处理器)
- HandlerAdapter(适配处理器)
- ViewResolver(视图解析器)
- View(视图)
5 Spring MVC基础
5.1.1 Spring MVC项目快速搭建-构建与依赖 -《SSM深入解析与项目实战》
- 使用IDEA构建Maven项目
- 进行配置项目依赖
5.1.2 Spring MVC项目快速搭建-配置与演示 -《SSM深入解析与项目实战》
- 项目日志配置
- 演示页面
- 1、Configuration注解
- 2、EnableWebMvc注解
- 3、ComponentScan注解
5.1.3 Spring MVC项目快速搭建-Web配置与Controller层开发 -《SSM深入解析与项目实战》
- Web配置类
- WebInitializer配置类
- WebApplicationInitializer接口部分注释以及源码
- 类似xml配置
- Controller层开发
5.1.4 Spring MVC项目快速搭建-Tomcat启动 -《SSM深入解析与项目实战》
- 配置Web
- 根路径的跳转地址配置
- 自动创建好Artifact
- 手动创建Artifacts
- Edit Configurations
- 配置Tomcat
- Tomcat默认配置界面
- Tomcat配置Artifacts
- 最后步骤
5.1.5 Spring MVC项目快速搭建-jstl异常处理与页面演示 -《SSM深入解析与项目实战》
- NoClassDefFoundError-jstl异常处理
- classe中导入的jar包
- Artifacts界面
- 添加Jstl包进发布路径
- 页面演示
- 首页显示
- 直接返回文本演示
5.2.1 Spring MVC中常用注解(一) -《SSM深入解析与项目实战》
- Controller注解
- Controller注解源码
- RequestMapping注解
- RequestMapping注解源码
- value属性值的演示
- ResponseBody注解
- RequestBody注解
- 配置JSON格式传输数据解析
- 设置Content-Type的值为application/json;charset=UTF-8
- 设置数据类型和值
- 测试结果
5.2.2 Spring MVC中常用注解(二) -《SSM深入解析与项目实战》
- PathVariable注解
- PathVariable注解带name演示
- PathVariable注解不进行name赋值演示
- RestController注解
- RestController注解源码
- CookieValue注解
- CookieValue注解演示
- RequestParam注解
- RequestParam注解源码
- testRequestParam方法
- InitBinder注解
- InitBinder注解演示
5.3 对象和JSON或XML之间的转换 -《SSM深入解析与项目实战》
- 对象和JSON或XML之间的转换
- JSON和对象之间的转换
- 对象转换成JSON格式数据返回
- JSON返回结果
- XML和对象之间的转换
- 对象转换为XML格式数据返回
- 演示XML返回数据请求参数
- 编程式静态资源映射
- 添加静态资源映射方法
- testStatic.xml文件
- 静态资源演示效果图
- XML配置静态资源映射
- WebInitializer类
- Spring MVC配置文件目录
- Spring MVC配置文件
5.5 ControllerAdvice注解 -《SSM深入解析与项目实战》
- ControllerAdvice源码
- ControllerAdvice官方注释
- ControllerAdvice注解讲解
- 使用ControllerAdvice注解定义全局异常处理类
- 异常处理演示方法
- 异常显示页面代码
- 异常处理页面显示结果
6 深入Spring MVC的九大组件
6.1.1 HandlerMapping映射处理器(一)(深入Spring MVC的九大组件) -《SSM深入解析与项目实战》
- HandlerMapping映射处理器
- HandlerMapping的作用
- HandlerMapping源码
- HandlerMapping初始化
6.1.2 HandlerMapping映射处理器(二)(深入Spring MVC的九大组件) -《SSM深入解析与项目实战》
- DispatcherServlet.properties内容
- RequestMappingHandlerMapping分析
- RequestMappingHandlerMapping继承关系图
- RequestMappingHandlerMapping中afterPropertiesSet方法
- RequestMappingHandlerMapping中isHandler方法
- RequestMappingHandlerMapping中createRequestMappingInfo方法
6.2 HandlerAdapter适配处理器(深入Spring MVC的九大组件) -《SSM深入解析与项目实战》
- HandlerAdapter适配处理器
- HandlerAdapter源码
- HandlerAdapter初始化
- RequestMappingHandlerAdapter分析
- (1)supports方法
- (2)handle方法
- (3)getLastModified
6.3 HandlerExceptionResolver异常处理(深入Spring MVC的九大组件) -《SSM深入解析与项目实战》
- HandlerExceptionResolver源码
- HandlerExceptionResolver初始化
6.4 ViewResolver视图解析器(深入Spring MVC的九大组件) -《SSM深入解析与项目实战》
- ViewResolver源码
- ViewResolver初始化
- resolveViewName方法被调用过程
- ViewResolverRegistry分析
6.5 RequestToViewNameTranslator(深入Spring MVC的九大组件) -《SSM深入解析与项目实战》
- RequestToViewNameTranslator被调用情况
- RequestToViewNameTranslator初始化
- DefaultRequestToViewNameTranslator分析
6.6.1 LocaleResolver国际化解析器(一)(深入Spring MVC的九大组件) -《SSM深入解析与项目实战》
- LocaleResolver初始化
- initLocaleResolver方法
- AcceptHeaderLocaleResolver分析
- LocaleResolver接口源码
- setLocale在AcceptHeaderLocaleResolver中的实现
- resolveLocale在AcceptHeaderLocaleResolver中的实现
6.6.2 LocaleResolver国际化解析器(二)(深入Spring MVC的九大组件) -《SSM深入解析与项目实战》
- SessionLocaleResolver分析
- SessionLocaleResolver结构图
- AbstractLocaleContextResolver类中setLocale方法
- SessionLocaleResolver类中setLocaleContext方法
- MessageSource国际化资源分析
- AbstractApplicationContext类部分源码
6.7 ThemeResolver主题样式解析器(深入Spring MVC的九大组件) -《SSM深入解析与项目实战》
- ThemeResolver初始化
- ThemeResolver源码
- ThemeResolver实现类
- ThemeSource主题资源分析
6.8 MultipartResolver文件上传解析器(深入Spring MVC的九大组件) -《SSM深入解析与项目实战》
- MultipartResolver源码
- MultipartResolver初始化
- CommonsMultipartResolver分析
6.9.1 FlashMapManager初始化(FlashMapManager重定向管理) -《SSM深入解析与项目实战》
- FlashMapManager初始化
- FlashMapManager源码
6.9.2 SessionFlashMapManager分析(FlashMapManager重定向管理) -《SSM深入解析与项目实战》
7 Spring MVC基础应用
7.1.1 转发与重定向(Spring MVC基础应用)(一) -《SSM深入解析与项目实战》
- Spring MVC中的转发方式
- 通过ViewResolver请求转发
- 通过ModelAndView请求转发
7.1.2 转发与重定向(Spring MVC基础应用)(二) -《SSM深入解析与项目实战》
- 通过HttpServletRequest请求转发
- Spring MVC中的重定向方式
7.1.3 通过ModelAndView实现重定向(Spring MVC基础应用)(三) -《SSM深入解析与项目实战》
7.1.4 转发与重定向(Spring MVC基础应用)(四) -《SSM深入解析与项目实战》
- 通过RedirectView对象实现重定向
- 转发与重定向中绝对路径
- RedirectView类的renderMergedOutputModel方法
- RedirectView类中createTargetUrl方法
7.2.1 配置静态资源的缓存 -《SSM深入解析与项目实战》
- 配置静态资源缓存
- 创建index.jsp文件
- 创建StaticCacheController类
- 添加addViewControllers方法
- StaticResourcesVersion类
- 版本控制的静态页面引入
7.2.2 通过GzipResourceResolver压缩静态资源 -《SSM深入解析与项目实战》
7.2.3 GZIP一键压缩工具 -《SSM深入解析与项目实战》
- File工具类
- GZIP压缩工具类
7.3.1 文件的上传与零XML注册拦截器 -《SSM深入解析与项目实战》
- 创建CommonsMultipartResolver方法
- FileItemFactory依赖
- CommonsMultipartResolver构造函数
- 文件上传演示页面
- message.jsp文件
- 添加映射代码
- 注册拦截器设置全局编码
- 文件上传的Controller
7.3.2 文件下载&大文件的下载 -《SSM深入解析与项目实战》
- 通过ResponseEntity下载文件
- Controller层的下载方法
- 大文件的下载
7.4.1 主题的配置使用(Spring MVC中多种主题的使用) -《SSM深入解析与项目实战》
7.4.2 切换主题(Spring MVC中多种主题的使用) -《SSM深入解析与项目实战》
- 通过SessionThemeResolver 切换主题
- 主题切换Controller
- 通过Spring MVC内置拦截器切换主题
- addInterceptors方法
8 Spring MVC核心应用
8.1.1 通过HandlerExceptionResolver处理全局异常(全局异常处理) -《SSM深入解析与项目实战》
- ResultModel返回实体
- 返回状态码枚举
- 全局异常处理类
- 重写configureHandlerExceptionResolvers方法
- 错误展示页面
- ExceptionController演示抛出异常
- 异常返回展示页面
8.1.2 通过SimpleMappingExceptionResolver处理全局异常(全局异常处理) -《SSM深入解析与项目实战》
- SimpleMappingExceptionResolver中核心源码
- MvcConfig类中添加simpleMappingExceptionResolver方法
- configureHandlerExceptionResolvers方法
8.1.3 通过ExceptionHandler处理全局异常(全局异常处理) -《SSM深入解析与项目实战》
- 类级别的异常拦截
- httpMessageNotReadableExceptionHandler拦截异常方法
- ExceptionHandler源码
- 使用ExceptionHandler注解进行全局异常拦截
8.2.1 Spring MVC中实现拦截器(拦截器与过滤器) -《SSM深入解析与项目实战》
- 拦截器与过滤器的区别
- Spring MVC中实现拦截器
- 添加编码拦截器
- SensitiveWordFilter过滤器
- 注册Filter
8.2.2 通过DelegatingFilterProxy在过滤器中注入Bean(拦截器与过滤器) -《SSM深入解析与项目实战》
- Service层的敏感词接口
- Service层的敏感词实现类
- SensitiveWordServiceFilter过滤器
- 注册DelegatingFilterProxy类
8.2.3 通过HandlerInterceptor实现拦截器(拦截器与过滤器) -《SSM深入解析与项目实战》
- HandlerInterceptor接口源码
- AsyncHandlerInterceptor接口源码
- HandlerInterceptorAdapter抽象类
- LoginHanderInterceptor类
- 注册拦截器
- Spring MVC中JSON交互形式
- 应用实例
- JSON字符串交互实例
8.4 Spring MVC国际化配置 -《SSM深入解析与项目实战》
9 MyBatis组件
9.1 SqlSessionFactoryBuilder(工厂构造器) -《SSM深入解析与项目实战》
- SqlSessionFactoryBuilder源码
9.2.1 XMLConfigBuilder构造函数(XMLConfigBuilder分析) -《SSM深入解析与项目实战》
9.2.2 parse与parseConfiguration方法(XMLConfigBuilder分析) -《SSM深入解析与项目实战》
- XMLConfigBuilder类中parse方法
- parseConfiguration方法
9.2.3 loadCustomVfs方法(XMLConfigBuilder分析) -《SSM深入解析与项目实战》
9.2.4 settingsElement方法(XMLConfigBuilder分析) -《SSM深入解析与项目实战》
9.2.5 environmentsElement方法(XMLConfigBuilder分析) -《SSM深入解析与项目实战》
9.2.6 typeHandlerElement方法(XMLConfigBuilder分析) -《SSM深入解析与项目实战》
9.2.7 mapperElement方法(XMLConfigBuilder分析) -《SSM深入解析与项目实战》
9.3 SqlSessionFactory(工厂接口) -《SSM深入解析与项目实战》
- SqlSessionFactory源码
- DefaultSqlSessionFactory分析
9.4.1 多个参数的select高级方法(SqlSession) -《SSM深入解析与项目实战》
- DefaultSqlSession类中多个参数的select高级方法
- RowBounds对象部分代码
- DefaultMapResultHandler的handleResult方法
9.4.2 带参数的增删改查方法(SqlSession) -《SSM深入解析与项目实战》
- DefaultSqlSession类中带参数的增删改查方法
- SqlSession增删改查外的方法
- ResultHandler接口
9.5.1 parse方法(MapperAnnotationBuilder) -《SSM深入解析与项目实战》
- MapperAnnotationBuilder(Mapper注解构建器)
- MapperAnnotationBuilder类中属性与构造函数
- parse方法
- MapperBuilderAssistant中的解析方法
9.5.2 loadXmlResource方法(MapperAnnotationBuilder) -《SSM深入解析与项目实战》
9.5.3 parseCache与parseCacheRef方法(MapperAnnotationBuilder) -《SSM深入解析与项目实战》
- parseCache方法
- parseCacheRef方法
9.5.4 parseStatement方法(MapperAnnotationBuilder) -《SSM深入解析与项目实战》
- parseStatement方法
- parseResultMap方法
9.5.5 MyBatis中注解与XML标签的对应和描述(MapperAnnotationBuilder) -《SSM深入解析与项目实战》
10 MyBatis的XML配置文件
10.1 properties 属性(MyBatis的XML配置文件) -《SSM深入解析与项目实战》
- 引入properties文件与设置properties键值对
- jdbc.properties文件
- 数据库配置
- 指定配置的默认值
10.2 settings设置(MyBatis的XML配置文件) -《SSM深入解析与项目实战》
10.3 typeAliases 类型别名(MyBatis的XML配置文件) -《SSM深入解析与项目实战》
- typeAliases 类型别名
- typeHandlers 类型处理器
- objectFactory 对象工厂
- plugins 插件
10.4 environments 环境(MyBatis的XML配置文件) -《SSM深入解析与项目实战》
- transactionManager 事务管理器
- dataSource 数据源
10.5 databaseIdProvider数据库厂商标识(MyBatis的XML配置文件) -《SSM深入解析与项目实战》
- databaseIdProvider数据库厂商标识
10.6 mappers 映射器(MyBatis的XML配置文件) -《SSM深入解析与项目实战》
11 MyBatis的XML映射文件
11.1 查询(select)(MyBatis的XML映射文件) -《SSM深入解析与项目实战》
- 查询(select)
- 简单的select元素
- JDBC预处理语句
- select标签中的属性
- select元素的属性
- SQL元素
- sql元素定义
- 动态注入sql元素中$的值
- include嵌套使用
- select元素嵌套include最终的结果
11.2 增删改(insert, delete and update)(MyBatis的XML映射文件) -《SSM深入解析与项目实战》
- 增删改标签的属性代码
- 增删改标签的属性描述
- insert、update和delete语句的示例
- insert与update处理主键自动生成
- 插入对象后自动生成的主键被对象带回
- insert多行数据获取所有对象的主键
- 通过insert获取自增长主键值的另一种方式
- 使用selectKey元素获取自增长主键
- selectKey元素描述
11.3 参数(Parameters)(MyBatis的XML映射文件) -《SSM深入解析与项目实战》
- 安全传参
- 简单的传参
- 复杂的传参
- 指定参数的类型
- 字符串替换
11.4.0 结果集(ResultMap) -《SSM深入解析与项目实战》
- 简单的映射语句
- BaseEntity JavaBean
- Users JavaBean
- 映射结果集到JavaBean
- 使用别名映射结果集到Users
- 定义resultMap元素
- 使用resultMap映射
11.4.1 高级结果映射(结果集) -《SSM深入解析与项目实战》
- 查询博客信息SQL
- 复杂对象模型的ResultMap
- resultMap元素的子元素说明
- resultMap元素属性
11.4.2 id与result元素(结果集) -《SSM深入解析与项目实战》
11.4.3 关联元素(association、collection)(结果集) -《SSM深入解析与项目实战》
11.4.4 关联的嵌套结果(结果集) -《SSM深入解析与项目实战》
- 嵌套结果查询的部分相关元素
- 简单的关联查询
- XML映射关系
- 单独的结果映射
- 并列作者后查询的SQL语句
- Author的resultMap定义
- 重用authorResult
11.4.5 集合(一对多查询)(结果集) -《SSM深入解析与项目实战》
11.4.6 集合嵌套查询与嵌套结果(结果集) -《SSM深入解析与项目实战》
- 博客与文章表SQL
- xml接口使用嵌套查询为博客加载文章
- BlogExt实体类
- selectBlogExt映射接口SQL语句
- 重用结果映射
11.4.7 鉴别器(结果集) -《SSM深入解析与项目实战》
- 使用鉴别器查询出Vehicle
11.5 自动映射(Auto-mapping) -《SSM深入解析与项目实战》
- 自动映射与配置映射
11.6.1 MyBatis缓存 -《SSM深入解析与项目实战》
- 缓存的属性
- cache属性
- 回收策略
11.7 MyBatis缓存机制 -《SSM深入解析与项目实战》
- 一级缓存
- 修改一级缓存的范围
- 二级缓存
- 禁用二级缓存
- newExecutor方法源码
- 配置cache标签
- CachingExecutor源码
- 禁用单条语句的缓存
11.8 Cache定义的两种使用方式 -《SSM深入解析与项目实战》
- cache元素定义
- cacheElement源码
- cache-ref元素定义
- createCacheKey方法源码
11.9 MyBatis二级缓存实例 -《SSM深入解析与项目实战》
- 二级缓存的测试
- 二级缓存测试方法
- 二级缓存使用原则
12 动态SQL(Dynamic SQL)
12.1 MyBatis动态SQL-九大元素 -《SSM深入解析与项目实战》
- if元素
- if元素动态拼接
- choose、when、otherwise元素
- 使用choose元素
- trim、where、set元素
- if元素的select语句
- 使用where元素
- 与where元素等价的trim用法
- set元素演示
- 与set元素等价的trim元素
- foreach元素
- bind元素
- 将一个对象中的变量绑定到上下文
- 将一个变量绑定到上下文
持续更新中…
更新时间:2021-05-07
以上是关于《SSM深入解析》目录导航与汇总的主要内容,如果未能解决你的问题,请参考以下文章
13.1 MyBatis Generator概述(MyBatis Generator逆向代码生成工具) -《SSM深入解析与项目实战》
13.2 MyBatis Generator 快速入门(MyBatis Generator逆向代码生成工具) -《SSM深入解析与项目实战》
12.2 MyBatis动态SQL-多数据库支持与可拔插SQL脚本 -《SSM深入解析与项目实战》
13.3.3 MBG其他配置(MyBatis Generator逆向代码生成工具) -《SSM深入解析与项目实战》
13.3.3 MBG其他配置(MyBatis Generator逆向代码生成工具) -《SSM深入解析与项目实战》
13.3.2 完整的MBG配置文件(MyBatis Generator逆向代码生成工具) -《SSM深入解析与项目实战》