Spring Boot的学习之路(01):缘起
有人说,Spring Boot的出现,让Java迎来了又一春,它是Java应用开发的颠覆者,彻底改变了Java应用开发的模式。
2017年,SpringBoot闯入我的生活, 也让我迎来了又一春
我开始接触SpringBoot的时候,是在2017年,是公司同事在开始学。我也网上查找了些资料,发现SpringBoot相比传统SpringMVC在xml配置上有很大的一部分优势:无繁琐的xml配置,各个组件依赖配置都自动加入等。我便也跟着疯狂地学起来。不得不发表一下心得体会:用起来很爽,很舒服。
学习过程,痛并快乐着
我是一个天生爱折腾的主儿。喜欢学习新的技术和实现方案,挑战难点。然后把学习到的知识转化为自己的,并记录下来,整理输出。有很多也跟我一样吧。
学习springboot的时间虽过了很久,但我仍旧感觉得到当初学习SpringBoot的那股劲。
现在学习技术的途径有很多,可以看视屏教程,看博客,看码云和Github都可以呢。
学习过程中,我也总是会遇到各种问题,或者不明白的知识点,也就是知识盲区,我会怎么做呢?根据这个知识点,提炼出“关键字”去百度或者谷歌搜索,对知识点先有一个大体的了解。但是要从浩瀚的资料中,筛选出有用的资料,那还真得有一双敏感的慧眼吧。我在搜索资料的时候,心里面就会去评估这份资料:
- 第一层:看到不符合的,直接pass掉。
- 第二层:比较符合的。收集下来,再寻找相似的,方便后面做对比。
- 第三层:直接符合的。那就是实践。看是否能正确解决。并做好记录。
不断试错是一种态度。也正是这样的思考方式,解决了我遇到的很多问题。
在学习SpringBoot的过程中,除了基础知识点的积累,我少不了去找许多开源项目案例研究学习,折腾各种环境部署,并从中找到我需要的那部分,然后运用到自己的项目中。我很感谢有前辈们的探索和分享。
我当时的目标很简单,就一个----学好SpringBoot,然后能成功整合各个项目,并简单的用起来。
只是学会用的话,如果有SpringMVC的使用经验的话,上手是分分钟的。
当时,我的目的也很单纯,就是学会用,其他也没多想。我开始简单地搭建了三层架构,然后慢慢开始整合相关组件,实现功能需求。
就这么简单的目的,我什么都不想去实现它就可以了。然而会有很多人,还没开始去做,就开始打退堂鼓。从心里面就已经告知自己:“我不会,我不行,没有大佬带。”,就这样,每天活在痛苦和焦虑中。
有些路必须得自己去走,才能知道沿途的风景是多么的迷人。我曾经也很想会有大佬带,学什么会什么。但对于我们这样的无名小卒,菜鸟小白,谁又会去关心呢。只能啃书,啃视频。有问题也不知道该如何解决。
痛苦在所难免,但如果有我陪着,你是否不会感觉到孤单。我是一天不写代码就剁手的程序猿。遇到的问题,也尽可能的去一起解决,减轻学习上的痛苦。
我当时大概学习了一两周,就开始上手,整合项目,直接开干。在项目中去夯实基础。
学习完了,就得实战。不说了,直接干它一个商城!
其过程可谓是艰辛痛苦,那可谓是网上搜罗各种资料博客,github上找Demo项目学习,也算是很艰辛的一段学习历程。
我在的公司是个小公司,但我当时主要负责聚合支付类项目的开发,一想到互联网的项目,应该使用的是比较新的技术开发,终于可以涨姿势了。当时就我一个人接手,我还很高兴,终于能挺起腰杆,撸起袖子,大干一场。但当我真正去接手的时候,我不敢相信自己的眼睛,项目是用servlet+jsp实现,还是几个研究生实习开发的。现在都二十一世纪了好吧,还是互联网项目。咋就没看出一点互联网项目的气息。
收了,吐槽结束。
也许正因为是在这样的环境下,让我有机会去把所学的给施展开来。当时,我一边用原来的技术开发着原有的功能,一边在谋划用SpringBoot新框架的搭建和实现。
我很喜欢当时带我项目的老师说的一句话:用你最熟悉的语言开发。
我深信不疑。
后来,整个的搭建思路,前后端的整合过程,百分之90是我独立完成的。我也很成功的将原有的旧项目V1.0,迁移到我新搭建的SpringBoot项目中,并按照规范开发,就基本上完成SpringBoot单体应用V2.0整合。后面,由于有其他需求,又进行了SpringBoot+Dubbo的微服务搭建V3.0。
随后,我把搭建的应用,开始抽离形成一个应用开发框架,有新项目需要做的时候,可以很快速的搭建基础工程。
正因为有了这样的经历,我知道这样的经验很宝贵,也很来之不易。当然也有我很多没有考虑到的,还需继续学习。
遗憾的是,当初没有做好笔记,光顾着自己爽了。现在也只能靠着自己残缺的记忆。
不遗憾的是,我依然还有心去做一件我值得去做的事----那就是将零散的知识点,躺过的坑,能总结分享,有机地形成一个个系列。
这也是我现在准备去做的事情。
曾经的我也开始过,但后来没有写下去,因为自己的口才和知识面不够,没有多少的落地经验,自然也写不出,即使写得出,也写不好,写不清楚。
相比之前的我,现在的我,年岁长了,经验长了,学到的和看到的多了。也写了几万的文字。也更有底气去做这件事情,相信可以写得更好。
于你,可以跟我一起,学习SpringBoot,并能真正的从基础入门到独自搭建属于自己的框架,为自己增添技术实力, 而且掌握大小公司里的开发技巧,工作习惯。
于我,可以在写教程中,反思自我,争取做得更好。在此期间,也可能会有更好,更有趣的想法在其中产生。
Spring Boot的学习之路(01):缘起的更多相关文章
- Spring Boot的学习之路(02):和你一起阅读Spring Boot官网
官网是我们学习的第一手资料,我们不能忽视它.却往往因为是英文版的,我们选择了逃避它,打开了又关闭. 我们平常开发学习中,很少去官网上看.也许学完以后,我们连官网长什么样子,都不是很清楚.所以,我们在开 ...
- Spring Boot的学习之路(03):基础环境搭建,做好学习前的准备工作
1. 前言 <论语·魏灵公>:"工欲善其事,必先利其器.居是邦也,事其大夫之贤者,友其士之仁者." 工欲善其事必先利其器.我们在熟悉一个陌生项目的时候,首先会大概去看一 ...
- spring源码学习之路---深入AOP(终)
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. 上一章和各位一起看了一下sp ...
- Spring MVC 到 Spring Boot 的简化之路(山东数漫江湖)
背景 从Servlet技术到Spring和Spring MVC,开发Web应用变得越来越简捷.但是Spring和Spring MVC的众多配置有时却让人望而却步,相信有过Spring MVC开发经验的 ...
- Spring Boot 项目学习 (四) Spring Boot整合Swagger2自动生成API文档
0 引言 在做服务端开发的时候,难免会涉及到API 接口文档的编写,可以经历过手写API 文档的过程,就会发现,一个自动生成API文档可以提高多少的效率. 以下列举几个手写API 文档的痛点: 文档需 ...
- Spring Boot 项目学习 (三) Spring Boot + Redis 搭建
0 引言 本文主要介绍 Spring Boot 中 Redis 的配置和基本使用. 1 配置 Redis 1. 修改pom.xml,添加Redis依赖 <!-- Spring Boot Redi ...
- Spring Boot 项目学习 (一) 项目搭建
0 引言 本文主要记录借用Idea 开发环境下,搭建 Spring Boot 项目框架的过程. 1 系列文档目录 Spring Boot 项目学习 (一) 项目搭建 Spring Boot 项目学习 ...
- Spring Boot 项目学习 (二) MySql + MyBatis 注解 + 分页控件 配置
0 引言 本文主要在Spring Boot 基础项目的基础上,添加 Mysql .MyBatis(注解方式)与 分页控件 的配置,用于协助完成数据库操作. 1 创建数据表 这个过程就暂时省略了. 2 ...
- Spring MVC 到 Spring BOOT 的简化之路
背景 Spring vs Spring MVC vs Spring Boot Spring FrameWork Spring 还能解决什么问题 Spring MVC 为什么需要Spring Boot ...
随机推荐
- WPF--常用布局介绍
概述:本文简要介绍了WPF中布局常用控件及布局相关的属性 1 Canvas Canvas是一个类似于坐标系的面板,所有的元素通过设置坐标来决定其在坐标系中的位置..具体表现为使用Left.Top.Ri ...
- Spring boot配置说明
要加“m”说明是MB,否则就是KB了. -Xms:初始值 -Xmx:最大值 -Xmn:最小值 java -Xms80m -Xmx80m -jar mod.jar 时区设置 java -jar -Dus ...
- Backbone Collection
http://yujianshenbing.iteye.com/blog/1748826 如果将一个Model对象比喻成数据库中的一条记录,那么Collection就是一张数据表.它表示为一个模型集合 ...
- python 左旋转字符串
比较简单的一道题 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果.对于一个给定的字符序列S,请你把其循环左移K位后的序列输出.例如,字符序列S= ...
- Python 爬虫 —— scrapy
0. 创建网络爬虫的常规方法 进入命令行(操作系统的命令行,不是 python 的命令行) windows:cmd ⇒ c:\Uses\Adminstrator> Linux:$ 执行:scra ...
- ios 拿到第一响应者的当前视图
UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow]; UIView *firstResponder = [keyWi ...
- Headless Chrome入门
原文地址:Getting Started with Headless Chrome By EricBidelman Engineer @ Google working on web tooling ...
- hdu4614 二分法+段树
意甲冠军:给你1-n花瓶 .起初,所有的空,今天,有两种操作模式, 1:从花瓶a開始插入b朵花 假设不能插进去 输出字符串 否则输出最多插入的起点和终点: 2:把a-b的花瓶 ...
- hdu 4035 可能性DP 成都网络游戏
http://acm.hdu.edu.cn/showproblem.php?pid=4035 获得: 1.首先推断是不是树.事实上,所有的感觉身影,既看边数==算-1是不成立 2.有时候,我告诉孩子来 ...
- socket 主机地址相关的函数
#include <arpa/inet.h> int inet_aton (const char *name, struct in_addr *addr) 将ipv4地址从数字点的形式转化 ...