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架构师的实践机会,但增删改查程序员想要进,会遇到“缺乏实践机会“的困境,不过一旦进去了,就不愁不升级了。
本站推荐
-
550
-
527
-
522
-
514
-
504