Spring Boot 终极清单

一、Spring Boot 终极清单诞生原因

我上学那会主要学的是 Java 和 .Net 两种语言,当时对于语言分类这事儿没什么概念,恰好在2009年毕业那会阴差阳错的先找到了 .Net 的工作,此后就开始了漫长的 .Net 编程之旅,说实话最初的“编程思想”的形成和确立都是在头几年做 .Net 的时候慢慢培养起来的。

后来在2015年之后就开启了“百花齐放”的模式,那时候 Nodejs、Vue、Golang 在程序界开始暂露头脚并逐渐流行,而作为类游戏公司出身的我和我的老领导,在新系统开发中大量使用了大量的新技术元素,那时候 Nodejs、Golang 作为我们首选的主要的开发语言,进而取代了之前一直使用的 .Net,这个经历对我的影响非常大,我会开始尝试更多的开发语言和框架,甚至到后来的手机开发也开始越做越顺手,当然手机的框架我们也用了很多,踩了很多坑,从最开始的 DCloud 到 Xamarin 再到 React Native,我们是一边实践一边用于生产坏境,所幸由于领导的体谅和我们的努力,让我们能很顺利的走过那段“艰难”岁月,一直到后来的技术逐渐稳定。

说了辣么多,和我们本节的主题“为什么会诞生 Spring Boot 系列文章”有毛关系?

客观莫慌,待老衲如实道来。

是这样子,虽然我们这一路似乎走的还算平稳,那为什么导致我后来用 Java 和 Spring Boot 的诞生呢?原因其实也挺简单,新技术的使用会带来几个问题?

  1. 新技术的使用增加了人员招聘的成本,通常招不到更多的人(在业务高速发展的阶段会影响项目的进度);

  2. 新技术使用成本很高,通常有更多的坑和更少的解决方案;

  3. 新技术可控性更差,有些问题可能是致命性,存在不能修复的风险;

所以经过这些事之后,让我明白一件事,那就是“顺势而为”,Java 作为国内最流行的语言,处理 BAT 还有很多名不见经传的大小中公司都在使用,而且有很成熟的解决方案和人员优势,我们干嘛要做吃力不讨好的事情。当然这也不是教育我们不要尝试新的事物,而是要循序渐进深入思考的使用和应用新技术,要明白所有的事情不是一蹴而就的,凡事都有一个过程,新技术是一定要学的,但用于生产环境一定要结合自身情况去深入思考。当然我更鼓励大家去学习新技术,但不要迷恋新技术,凡事都与利弊的,要做一件事情一定要深入思考。

有了这个想法之后,要很好的使用 Java,Spring Boot 当时逃不掉了,这是此系列诞生主要的原因,当然学 Spring Boot 可以自己闷头去学也是没有问题的,那 Spring Boot 系列诞生的原因还有那些呢?

  1. 会用一种技术和给别人讲明白一种技术是两码事情,想通过给别让讲明白这件事,驱动自己更深层次的理解和探寻这门技术;

  2. 照本宣科的学习一种技术,是一件简单事情,但要理解技术内在的联系,把你理解的技术转述给别人,引导别人从浅到深平滑的思维过度,以及按照某种规律,建立起更加牢固的记忆和更容易理解的文章,是一件非常不易的事儿,而要搞懂这种内在的联系(或者说是内在的规律),首先你要把这项技术理解的非常深刻才行,这是一种良性互动的驱动力,提供优质的文章=>积极的反馈=>改善,提供更优质的文章=>更积极的反馈;

  3. 大部分类似的文章比较旧,更新不够及时;

  4. 大部分类似的文章千篇一律,人云亦云,没有自己的独立思考与实践;

  5. 大部分类似的文章在功能使用上过于简单,想要深层次的挖掘一些更本质、更不一样的东西;

说了这么多那就开始一边实践,一边总结经验来汇报给各位看官老爷喽。

二、Spring Boot 终极清单目录

微信公众号,不能访问以下链接,请点击文末“查看原文”进行阅读。

Spring Boot (一)快速入门

Spring Boot (二)集成Jsp与生产环境部署

Spring Boot (三)模板引擎FreeMarker集成

Spring Boot (四)模板引擎Thymeleaf集成

Spring Boot (五)Spring Data JPA 操作 MySQL 8

Spring Boot(六)集成 MyBatis 操作 MySQL 8

Spring Boot (七)MyBatis代码自动生成和辅助插件

Spring Boot (八)MyBatis + Docker + MongoDB 4.x

Spring Boot(九)Swagger2自动生成接口文档和Mock模拟数据

Spring Boot(十)Logback和Log4j2集成与日志发展史

Spring Boot(十一)Redis集成从Docker安装到分布式Session共享

Spring Boot(十二)单元测试JUnit

Spring Boot(十三)RabbitMQ安装与集成

Spring Boot(十四)RabbitMQ延迟队列

以上几乎包含了 Spring Boot 使用中,要涉及的方方面面了,后期根据工作中使用的情况,可能会做其他补充。

三、特别鸣谢

当然以上这些实践总结,不是凭空想出来的,一定参考了很多技术文章加上我自己的思考产生的心得体会,不保证一定是对的,但都是我的深思熟虑之后的所得所想,这里重点感谢几位老哥的资料:

纯洁的微笑:http://www.ityouknow.com/spring-boot.html

battcn:https://blog.battcn.com/categories/SpringBoot/

程序猿DD:http://blog.didispace.com/categories/Spring-Boot/

最后,推荐给大家一个非常不错的付费课程:《精通 Spring Boot 42 讲》


关注作者二维码,查看更多动态:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/546827.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简单的喷淋实验--嵌入式实训

目录 喷淋实验--嵌入式实训 1.MQTT通信原理 2.MQTT库的移植 3.代码流程 运行视频如下: 喷淋实验--嵌入式实训 1.MQTT通信原理 MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅消息传输协议,旨在提供可靠、高效的通信…

Yolov5系列AI常见数据集(1)车辆,行人,自动驾驶,人脸,烟雾

下述所有数据可在下方二维码公众号回复: 数据大礼包 获得!!! Fashion-MNIST图像数据集(200.4MB) 每个训练和测试样本都按照以下类别进行了标注: 标注编号描述0T-shirt/top(T恤&…

Java核心(四)你不知道的数据集合

导读:Map竟然不属于Java集合框架的子集?队列也和List一样属于集合的三大子集之一?更有队列的正确使用姿势,一起来看吧! Java中的集合通常指的是Collection下的三个集合框架List、Set、Queue和Map集合,Map并…

【Jetson-Nano】2.Tensorflow object API和Pytorch的安装

文章目录 1、Tensorflow多版本安装 1.1 Protobuf 安装1.2 安装依赖包及tensorflow1.151.3 安装其它常用库1.4 测试python包是否安装成功1.5 TensorRT和Opencv的安装1.6 pycuda和onnx安装1.7 Tensorflow2.3安装2、Pytorch安装 2.1 安装pytroch和torchvision2.2 安装环境验证参考…

Java核心(五)深入理解BIO、NIO、AIO

导读:本文你将获取到:同/异步 阻/非阻塞的性能区别;BIO、NIO、AIO 的区别;理解和实现 NIO 操作 Socket 时的多路复用;同时掌握 IO 最底层最核心的操作技巧。 BIO、NIO、AIO 的区别是什么? 同/异步、阻/非阻…

pyqt5让主窗口居中显示(显示在显示器的中间位置)

原文:https://blog.csdn.net/zzx188891020/article/details/105940024 课程重点: 就是让窗口居中显示 # QDesktopWidget import sys from PyQt5.QtWidgets import QDesktopWidget,QMainWindow,QApplication from PyQt5.QtGui import QIconclass Cente…

Basic4android v3.50 发布

这次发布的主要是debug 的增强。说实话,在这一方面B4a 比delphi做的要好。希望delphi 在新的版本里面 能进一步加强。 Im happy to release Basic4android v3.50. This update brings major improvements to the debugging features of Basic4android. With this up…

荔枝派 Nano 全志 F1C100s 编译运行 Linux ubuntu并升级gcc

首先是荔枝派的官方文档,写的不是很细,应当说我们必须明确几点: 出厂时 SPI Flash 自带了一个 U-BootLinux Kernel(出厂的时候可能烧过了),可直接拿来用。如果希望自己烧固件,才需要后续步骤必…

Java提高班(六)反射和动态代理(JDK Proxy和Cglib)

反射和动态代理放有一定的相关性,但单纯的说动态代理是由反射机制实现的,其实是不够全面不准确的,动态代理是一种功能行为,而它的实现方法有很多。要怎么理解以上这句话,请看下文。 一、反射 反射机制是 Java 语言提…

C++ STL 四种智能指针

文章目录 0.前言1.unique_ptr2.auto_ptr3.shared_ptr 3.1 简介3.2 通过辅助类模拟实现 shared_ptr4.weak_ptr 4.1 简介4.2 用法4.3 作用5.如何选择智能指针参考文献0.前言 C 标准模板库 STL(Standard Template Library) 一共给我们提供了四种智能指针&…

快速傅里叶变换应用之二 hdu 4609 3-idiots

快速傅里叶变化有不同的应用场景,hdu4609就比较有意思。题目要求是给n个线段,随机从中选取三个,组成三角形的概率。 初始实在没发现这个怎么和FFT联系起来,后来看了下别人的题解才突然想起来:组合计数问题可以用多项式…

基于sympy的python实现三层BP神经网络算法

#!/usr/bin/python # -*- coding: utf-8 -*- """ 写一个三层的BP神经网络(3,2,1),3是输入数据的维度,隐层设置节点数为2,1是因为每个观测的target都是一个标量即只有一个数; 1.随…

JVM(二)Java虚拟机组成详解

导读:详细而深入的总结,是对知识“豁然开朗”之后的“刻骨铭心”,想忘记都难。 Java虚拟机(Java Virtual Machine)下文简称jvm,上一篇我们对jvm有了大体的认识,进入本文之后我们将具体而详细的…

PyCharm pyqt5 python串口通信封装类SerialCommunication

""" pyqt5串口通信文件SerialCommunication.py """ import binascii import os import serial import serial.tools.list_ports from PyQt5.QtGui import QPixmap# 全局变量,串口是否创建成功标志 Ret False # 串口列表串口号 port_…

Fiddler利用Xposed框架+JustTrustMe抓取手机APP数据

文章目录 1. Xposed安装2. JustTrustMe安装3. 确保Fiddler在模拟器里配置 此文只是针对Fiddler抓取APP数据失败情况下的方案,主要想解决的是安卓手机APP抓包HTTPS报文通过MITM代理后证书不被信任的问题。网上搜索出这是使用了SSL Pinning技术,网上可以搜…

互动直播的视频录制与合成—支持多人离线重入

实现的效果图: 上图合成了2个人视频,中途有1个人先离开之后又重新加入了房间。 一、业务场景 业务场景是这样的:多个用户(2-4人)直播的视频,合成为一个视频,这期间要满足2个条件:首…

Python界面 PyQT可视化开发(python3+PyQt5+Qt Designer)

前言 以前制作一个Python窗体界面,我都是用GUI窗口视窗设计的模块Tkinter一点一点敲出来的,今天朋友问我有没有Python窗体的设计工具,“用鼠标拖拖”就能完成窗体设计,我查了查相关资料,果然有一款好用的工具——Qt De…

JVM(三)对象的生死判定和算法详解

好的文章是能把各个知识点,通过逻辑关系串连起来,让人豁然开朗的同时又记忆深刻。 导读:对象除了生死之外,还有其他状态吗?对象真正的死亡,难道只经历一次简单的判定?如何在垂死的边缘“拯救”一…

【STM32】修改芯片型号后报 Error 的解决方案

原文:https://blog.csdn.net/xiuhua_wu/article/details/85237418 背景 前几天有个新需求,使用 STM32 的标准库(STD)做个产品的例程。之前已经做了个 HAL 的,但人家客户不干,非要 STD 的。拖了一周&#xf…

Python手写神经网络实现3层感知机

一、BP神经网络结构模型 BP算法的基本思想是,学习过程由信号的正向传播和误差的反向传播俩个过程组成,输入从输入层输入,经隐层处理以后,传向输出层。如果输出层的实际输出和期望输出不符合,就进入误差的反向传…