Spring Boot 终极清单

Stella981
• 阅读 363

一、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 讲》

Spring Boot 终极清单


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

Spring Boot 终极清单

本文分享自微信公众号 - Java中文社群(javacn666)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Java修道之路,问鼎巅峰,我辈代码修仙法力齐天
<center<fontcolor00FF7Fsize5face"黑体"代码尽头谁为峰,一见秃头道成空。</font<center<fontcolor00FF00size5face"黑体"编程修真路破折,一步一劫渡飞升。</font众所周知,编程修真有八大境界:1.Javase练气筑基2.数据库结丹3.web前端元婴4.Jav
Stella981 Stella981
2年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这