Spring Boot该怎么学呢(整体说下)?

Spring Boot的生态很大,包括很多的配套组件,全部学会在去工作或者研究不现实,可以先掌握Spring Boot的基本开发过程,了解它的运行机制,集成不同组件的方法(目前大部分都是通过starter的方法),只要掌握两、三个就差不多了。


当然,对于不同阶段的程序员来说,Spring Boot需要掌握的程度也是不同的。

1.如果是毕业生、或者培训班刚出来的开发者。

在这个阶段,会用Spring Boot做增删改查项目就行了,能参与到项目的开发工作中,知道如何与其他人配合一起开发程序。即会用Spring Boot开发一个基本项目,整合JDBCTemplate或者Mybatis或者其他ORM框架,来连接数据库,知道常用的注解,会用AOP(或者看得懂AOP编程方式)。

在这个阶段,只要能按项目经理的要求,照着现有的模块开发增删改查的业务就行。比如给个订单模块,能照着做用户模块的增删改查业务功能。

说实话,要做到这种程度不难,这也是为什么大批培训班学生能入行程序员的原因,而且如果这些程序员再刻苦上心点的话,干的活绝不比科班出身的程序员差。

2.对于工作经验在3年左右的初/中级开发者

用熟练地用SpringBoot开发各种业务,熟悉公司的业务及整体的开发过程,要做到这点不难。此外还需要会干一些高级的活,比如引入Junit写单元测试,整合jenkinks做部署,整合ELK输出日志,出了问题能通过观察日志很快定位排查,或者通过引入Spring Security组件实现各种安全方面的功能。说实话,只要上心,能掌握这些Spring Boot高级技能不难。

如果Spring Boot仅限于做增删改查熟练工,可能顶了天能算熟悉业务,但只能开发基于Windows的单机版的模块。

在这个阶段,不少程序员可能就陷于职业瓶颈了。在本公司里也属于老土地了,业务流程基本上也很熟悉了,来个业务也能很快搞定,平时干活也不累。

3. 工作经验在5年及5年以上的开发者

这个阶段要往上提升,姑且不论是否想进大厂,也姑且不论是干架构师还是项目经理,在Spring Boot方面,需要知道与诸多分布式组件整合,搭建应对高并发的项目,或者哪怕平时不具体干这类活但得知道,至少不是仅限于理论。比如整合Redis集群,整合MyCat应对高并发挑战,整合消息中间件作异步处理,整合Dubbo+zookeeper作高可用远程架构,整合Nginx做分布式部署,但这时就有问题了。因为缺乏用分布式搭建高并发项目的经验,即使你跳槽想找个实践机会,但面试时,由于分布式高并发只会说理论,往往又找不到合适的。


本人在这个阶段提升也费了不少劲。记得当年在一家公司,Spring Boot单机版技能非常熟悉,但在面试架构师的职务时,面了不下10家,但只要面试官一问分布式组件项目经验,或问项目开发一定会用到的技能,就答不上来。为什么呢?因为第一在项目中接触不到分布式组件,第二分布式组件环境比较难搭建,没有开发环境,那么学习就无从谈起了。后来还是踏踏实实找个互联网公司的资深开发职务,虽然职务上依然是开发,不是架构,但好歹项目开发时能用到分布式组件,有了实践机会,技术就突飞猛进了,也为我成长为架构师打下了基础。


这里用那么多话想说明的事情是,Java程序员如果要继续升级,须进一步学分布式这块,虽然这个升级过程很难,会卡住一部分程序员,但广大程序员朋友一定要跳过这个龙门。


当程序员掌握了Spring Boot整合分布式组件应对高并发挑战的相关技能后,之后的路就很广了,至少能把职业瓶颈年龄延迟到35岁。Spring Boot技能其实该学的也都学了,之后可能就是用Spring Boot+分布式组件+其他工具搭建框架管理项目了,可能还要掌握些Spring Boot + Docker+K8S的技能,但有了Spring Boot相关经验,这些也不难学了。


以当下Spring Boot的热度,只要用Java开发项目的公司至少会用Spring Boot,只是不同的公司会加不同的模块。但对Java程序员来说,总想进大厂或好公司做Spring Boot的活吧。


不过大厂(或互联网公司独角兽公司或有前景的公司)能提供Spring Boot架构师的实践机会,但增删改查程序员想要进,会遇到“缺乏实践机会“的困境,不过一旦进去了,就不愁不升级了。

腾讯云推出云产品限时特惠抢购活动:2C2G云服务器7.9元/月起
本文链接:https://www.jhelp.net/p/H7g8hukPZsLiTuUg (转载请保留)。
关注下面的标签,发现更多相似文章