Spring Boot 学习方法论-如何正确的入门 Spring Boot
想要入门 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
Spring Boot 学习方法论-如何正确的入门 Spring Boot的更多相关文章
- Spring boot学习1 构建微服务:Spring boot 入门篇
Spring boot学习1 构建微服务:Spring boot 入门篇 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框 ...
- Spring:在web.xml正确加载spring配置文件的方式
web.xml加载spring配置文件的方式主要依据该配置文件的名称和存放的位置不同来区别,目前主要有两种方式. 1. 如果spring配置文件的名称为applicationContext.xml,并 ...
- 【转载】Spring boot学习记录(一)-入门篇
前言:本系列文章非本人原创,转自:http://tengj.top/2017/04/24/springboot0/ 正文 首先声明,Spring Boot不是一门新技术.从本质上来说,Spring B ...
- spring boot + vue + element-ui全栈开发入门——spring boot后端开发
前言 本文讲解作为后端的spring boot项目开发流程,如果您还不会配置spring boot环境,就请点击<玩转spring boot——快速开始>,如果您对spring boot还 ...
- Spring Cloud 学习笔记(一)——入门、特征、配置
[TOC] 0 放在前面 0.1 参考文档 http://cloud.spring.io/spring-cloud-static/Brixton.SR7/ https://springcloud.cc ...
- Spring Boot学习(一):入门篇
目录 Spring Boot简介 Spring Boot快速搭建 1 新建项目 2 运行项目 3 设置spring boot可以热部署(修改后端代码后,自动部署,不用手动部署) 3.1:配置pom.x ...
- Java框架spring Boot学习笔记(六):Spring Boot事务管理
SpringBoot和Java框架spring 学习笔记(十九):事务管理(注解管理)所讲的类似,使用@Transactional注解便可以轻松实现事务管理.
- Java框架spring Boot学习笔记(五):Spring Boot操作MySQL数据库增、删、改、查
在pom.xml添加一下代码,添加操作MySQL的依赖jar包. <dependency> <groupId>org.springframework.boot</grou ...
- Java框架spring Boot学习笔记(四):Spring Boot操作MySQL数据库
在pom.xml添加一下代码,添加操作MySQL的依赖jar包. <dependency> <groupId>org.springframework.boot</grou ...
随机推荐
- php设计模式之面向过程实现举报功能实例代码
html <html> <head> <meta charset="UTF-8"> <title>责任链模式</title&g ...
- selenium的显示等待、隐式等待
转载:https://www.cnblogs.com/mabingxue/p/10293296.html Selenium显示等待和隐式等待的区别1.selenium的显示等待原理:显示等待,就是明确 ...
- EQ实现
原理参考: https://www.cnblogs.com/fellow1988/p/9189338.html https://www.cnblogs.com/fellow1988/p/9136346 ...
- 大白话Web三大组件之一Servlet
很多学习到Servlet这里的童鞋,听到那么多专业名词解释这个Servlet,相信都是很蒙圈的,在这里我先不跟大家扯Servlet的大概念,先跟大家探讨一下关于Servlet的作用 相信MVC这个概念 ...
- Oracle的表空间、用户和模式
Oracle 的 表空间(Tablespace).用户(User).模式(Schema) 前面有整理了一篇 Oracle 数据库(database) 与 实例(instance) 的概念及关系整理 ...
- AcWing 840. 模拟散列表
拉链法 #include<cstring> #include<iostream> using namespace std ; ; int h[N],e[N],ne[N],idx ...
- 移动端适配rem为单位的rem.js及个别设备设置了大字体模式,导致页面变形的处理方式
这段时间内,涉及到的都是移动端开发,说到移动端开发,我们就会思考到,目前分辨率的问题,如果用px为单位的话,在不同移动设备和不同分辨率下,页面的效果可能会有所不同,甚至导致页面变形.所以在次我们就用到 ...
- hdu 4280 最大流 sap模板
给你岛的坐标求最西边到最东边的最大流 /* 最大流模板 sap */ #include<stdio.h> #include<string.h> #include<algo ...
- 吴裕雄 python 机器学习——局部线性嵌入LLE降维模型
# -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt from sklearn import datas ...
- jmeter的BeanShell Sampler使用--导入第三方jar包
实现目的 测试接口的过程中,可能有时需要用到第三方jar包来生成一些测试数据,此时我们就可以通过BeanShell来调用自己编写的工具类,来对jmeter的功能进行扩展,以满足测试需要. 脚本实现 在 ...