Spring/Boot/Cloud系列知识(1)——开篇

本文将系统地介绍Spring知识体系,涵盖Spring Framework的核心设计模式、Ioc容器原理等内容,并结合Spring Boot及Spring Cloud等现代技术栈,逐步深入到实际项目应用。

1. 开篇序

各位支持我的朋友大家好啊,博客停了两个月处理了一些私人事务。从今天开始本人恢复技术博客更新。欢迎大家继续关注

1.1 写作难度在哪里

Spring系列知识这个博文专题实际上很早之前就想写写,但是一直没有动笔或者说没敢动笔。究其原因主要有几个:

1、这个系列的博文专题并不好写,Spring Framework知识体系太过庞大,远远超过本人之前所写的线程专题、系统间通讯专题、负载均衡专题和系统存储专题。Spring生态从很早的2.X版本到3.X版本再到当前的4.X版本、从最初的XML配置到注解性配置,再到现在最流行的Java Style配置、从单纯的Spring Framework到Spring Boot,再到目前流行的Spring Cloud服务治理生态……我一个小小的IT屌丝哪里能全部掌握……

2、Spring系列知识允许开发人员在一定程度上找到各种不同的code style解决相同的问题,所以根本不存在一个绝对的、最优的解决办法。这种情况就很难写了,例如针对问题X,可能笔者自己的解决方法为A,但是一些读者在特定的业务场景下会采用方法B来解决相同的问题,甚至还可能提出更简洁的方法C。所以笔者所书写解决方案A,是否会给人一种误导读者的嫌疑——特别是在优快云上读者技术水平参差不齐的情况下。

3、Spring知识体系实在是发展太快,有很多知识树分支是笔者根本没有在实际工作中涉及到的,甚至听都没有听说过的。当专题中一个章节的知识点刚刚写作完成,是否就已经产生了更简介的解决方法了呢?

那么为什么笔者最终决定还是要写这个博文专栏呢?因为有以下几个更重要的理由:

1、知识和技术需要总结:包括Spring知识体系在内的知识发展实在太快,正因为如此我们需要一种总结归纳的途径。而写作技术博客正好提供了这个好处

2、笔者写作技术博客最主要的目的之一,是分享技术知识、总结使用经验。如果能帮助到读者,那是最好;如果不能帮助到读者也无可奈何,不同技术水平的读者通过阅读文章能够获得的结果却是不能面面俱到。

3、还是想写。

1.2 本专栏写作思路和原则

基于以上的考虑,所以这个系列专题将采取以下方式处理:

1、本博客专栏所涉及的Spring Framework版本基于4.X,部分技术知识点基于3.X(而且都会提前说明)

2、本博客专栏首先介绍一些Spring的基础技术原理,例如核心设计模式、Ioc容器结构和原理、Bean对象的管理等基本没有任何二义性和技术分歧的知识;然后再结合目前业界的技术流行趋势,依次介绍Spring Boot、Spring Cloud等知识体系,特别是其中经常使用的技术分支和组件。最后再基于这些知识,带入到实际的项目场景中进行演练

3、本博客专栏用于本人自行记录整理知识内容的目的,大于主动向读者分享知识的目的。所以本人不会像写作其它专题那样,主动推送本博客专栏的任何一篇文章到优快云首页(技术编辑主动收纳的文章除外)。

4、如果本博客专栏的文章有幸(或者不幸)被读者看到,欢迎各位读者点踩。不过站在讨论技术知识的角度,还是希望各位读者能够留下宝贵的意见。这样也可以帮助笔者完善知识结构,Get新技能。

好了,本专题开篇就到这里。下一篇文章,我们先从设计模式开始讲解Spring知识体系的核心运行原理。

学习尚硅谷视频整理的文档 Spring Boot 1 1 Spring Boot入门 4 1.1 简介 4 1.2 微服务(martin fowler发表了一篇文章) 5 1.3 环境约束 7 1.4 第一个Spring Boot项目(jar):HelloWorld 8 1.5 入门案例详解 11 1.5.1 POM文件 11 1.5.2 主程序类,主入口类 12 1.6 使用Spring Initializer向导快速创建Spring Boot 16 2 Spring Boot配置 18 2.1 配置文件 18 2.2 YML语法 19 2.3 YML配置文件值获取 21 2.4 properties配置文件乱码问题 24 2.5 @ConfigurationProperties与@Value的区别 25 2.6 配置@PropertySource、@ImportResource、@Bean 27 2.7 配置文件占位符 30 2.8 Profile多环境支持 31 2.9 配置文件的加载位置 33 2.10 外部配置加载顺序 36 2.11 自动配置原理 37 2.12 @Conditional派生注解 41 3 Spring Boot与日志 42 3.1 日志框架分类和选择 42 3.2 SLF4j使用 43 3.3 其他日志框架统一转换成slf4j+logback 44 3.4 Spring Boot日志使用 45 3.5 Spring Boot默认配置 47 3.6 指定日志文件和日志Profile功能 52 3.7 切换日志框架(不使用SLF4j+LogBack) 54 4 Spring Boot与Web开发 55 4.1 Web开发简介 55 4.2 静态资源映射规则 56 4.3 引入Thymeleaf 60 4.4 Thymeleaf语法 61 4.5 SpringMVC自动配置原理 67 4.6 SpringBoot扩展与全面接管 70 4.7 如何修改SpringBoot的默认配置 72 4.8 【实验】CRUD操作 73 4.8.1 默认访问首页 73 4.8.2 登录页面国际化 74 4.8.3 登录 80 4.8.4 拦截器进行登录检查 81 4.8.5 实验要求(没按要求做,不想改了!) 82 4.8.6 CRUD-员工列表 83 4.8.7 CRUD-员工修改 86 4.8.8 CRUD-员工添加 87 4.8.9 CRUD-员工删除 88 4.9 错误处理原理&错误页面定制 90 4.10 配置嵌入式Servlet容器(springboot 1.50版本) 97 4.10.1 如何定制和修改Servelt容器的相关配置 97 4.10.2 注册servlet三大组件【servlet,filter,listener】 98 4.10.3 替换为其他嵌入式容器 102 4.10.4 嵌入式servlet容器自动配置原理 103 4.10.5 嵌入式servlet容器启动原理 103 4.11 使用外置的Servlet容器 104 4.11.1 步骤 104 4.11.2 原理 107 5 Spring Boot与Docker(虚拟化容器技术) 110 5.1 简介 110 5.2 核心概念 111 5.3 安装Docker 112 5.4 Docker常用命令&操作 113 5.5 安装MySQL示例 114 6 Spring Boot与数据访问 115 6.1 JDBC 115 6.1.1 实现 115 6.1.2 自动配置原理 116 6.2 整合Durid数据源 117 6.3 整合Mybatis 122 6.3.1 注解版 123 6.3.2 配置文件版 124 6.4 整合SpringData JPA 125 6.4.1 SpringData简介 125 6.4.2 整合 126 7 Spring Boot启动配置原理 128 7.1 启动流程(Springboot 1.50版本) 128 7.1.1 创建SpringApplication对象 129 7.1.2 运行run方法 130 7.1.3 编写事件监听机制 132 8 Spring Boot自定义starters 136 8.1 概述 136 8.2 步骤 137 9 更多Springboot整合示例 144 10 Spring Boot与缓存 145 10.1 JSR107缓存规范 145 10.2 Spring的缓存抽象 146 10.2.1 基本概念 146 10.2.2 整合项目 146 10.2.3 CacheEnable注解 148 10.2.4 Cache注解 150 10.3 整合redis 154 10.3.1 在Docker上安装redis 154 10.3.2 Redis的Template 154 10.3.3 整合(百度) 155
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值