想要入门 Spring Boot,那么什么样的教程是符合初学者学习的(没有太多的Java基础但有一些程序基础或者软件编程知识)。
这恰好能够勾出很多问题,比如是文章图文教程适合还是视频教程适合零基础初学者。网上到处飞的教程究竟是真的教程还是就是笔者的学习笔记。
这些问题看起来无伤大雅,但是对于学习者来说,他们是带有迷惑性的,甚至是致命的,也许你要学习springboot但是找到一篇很不合适的教程,就会浪费你打把的时间,你从此失去对学习这项技能的热情。也许你花钱买了视频教程,但是总体效果不佳,感觉编程大业不知道何时真正到来。
这个时候,我们就要问,我们真的了解我们自己写的东西。我们写的教程,真的能够普及那些花时间来看我们文章或视频的读者吗?或者我们就是写个笔记,能不能把标题搞得普通点,直接告诉读者我就是个笔记,不是什么教程。
1 怎样才算是通用的零基础 Spring Boot 教程
前人栽树后人乘凉,就我认知的一些道理总结如下:
-
带有启发性,能够带人入门
比如一个有趣的故事开头,比如一个简单有力的可运行示例,使得读者觉得有动力学习下去。比如像闯关打游戏,一关一关的引导,如果第一关就很难,那基本没有人完,如果都很easy,感觉又
-
正确的知识点,教人正确的东西,这是最为基础的要求
例如,当我们寻找某个ningx解决方案的时候,经常找到一些东西,看是正确的,但是根据作者的提示,却得不到正确的结果。最好问题出在环境和版本上。
-
站在学习者的角度去学习已经发布的教程
身临其境的学习下当我们发布的博客或教程,看看照着做是不是正确,能不能快速学习,比如有个标题叫10分钟学会 Spring Boot 的 Hello World,记过正常都要半个小时或半天,这岂不是自己打自己嘴巴。
很多时候,我们觉得这太简单了,太对于读者而言,却非常的捉摸不透,不知道从哪里开始,哪里结束。
-
重点在可直观的理解,例如包括安装环境和IDE,这是非常重要的,虽然他跟语言知识点本身关系不大
事实上,知识点、教程之类的博客并不难写,难的是我们如何获知大部分人的需求,他们需要什么,同样是 HelloWorld 的教程示例,为什么有的可以,有的无人问津?
2 Spring Boot 学习人群与学习方法
我是一个非班科出身的程序员,能够代表的可能是大部分草根一族,大部分知识点都是从互联网获知书本中学习的。
我学习 Spring Boot 之前也写过 Java,但是大部分是零散的没有系统的,随着时间的流逝,大部分都被记忆吞噬。但 Spring Boot 不一样,他本身尽然有序,使用他之后,能够让我想起这是什么,能够干什么,他的家族生态是什么。像一做延年不断的山脉,一眼望去,总能记住点什么。
2.1 谁需要学习 Spring Boot
互联网对分工越来越精细的时候,反而对知识面要求越来越粗线条,所谓全栈工程师,就是这种需求的体现。所以,大体分成几种需求人群
- 学生
- 其他转后端
- 业务需求
2.2 学习路径
- 自学成才
- 参加培训学校
- 网络授课
- 公司内部培训
2.3 学习方法
-
课程式学习
主要多见于大学生、毕业找工作去培训学校或者自己在网络剧哦课程中学习的。课程式学习很有必要,能够获得稳定的知识结构,打下良好的基础。
-
碎片化时间学习
碎片化学习主要是利用课余时间,多见于上班族,课余利用上下班、晚上时间、周末时间来实现学习。
-
强化学习
这是个非常行之有效的方法,又可以叫魔鬼式训练、封闭式训练,在集中的时间内,人很容易突破自我极限,达到一种前所未有的高度。
-
项目式学习
就是项目上的需求,要求你用到 Spring Boot 来实现某个业务功能,而且有时间限制,要求你在某年某月某日完成,没办法,只能硬着头皮干下去。这种有收益、有目标、还动力的机会确实是人生中难得的,如果你喜欢这个目标,你可以立马扑上去。
-
随用随学
比如项目中用到mqtt,那么搜索下罗相关的知识,搭建demo测试用例,然后再项目中实践。
哪种方式更为适合,需要根据各个人的情况来看项目评估如下:
- 有人带着你学习看着你学习>自己学习
- 项目学习>非项目学习
- 强化学习>非强化学习
3 Spring Boot 零基础入门的知识点
以下是入门的知识点,不包括哪些高大上的功能。简单的说,你能用 Spring Boot 写点增删改查的东西出来,就算入门啦。
-
环境
Java 开发环境搭建
Spring Boot 编辑器开发环境搭建
MySql 环境搭建
-
项目配置
如何创建一个 Spring Boot 项目
如何向 Spring Boot 中添加模块
如何配置 Spring Boot 项目
-
代码编写
掌握三层代码结构编写 DAO(Repository)、Servers、Controller
掌握组件的代码配置
-
测试
此步骤可省略,这么说可能要有人打我了,实际上大部分人没有写测试用例啊,我觉得测试用例可能是IDE的事情。
当然如果有测试的习惯,你会变的更加优秀。
-
打包与部署
使用maven的命令mvn打包发布与部署
部署到独立tomcat