本人先说如下的结论。

1 目前大多数公司是用Spring Boot,而且Spring Boot由于更加基于注解,所以和分布式组件以及Spring Cloud Alibaba整合起来更为顺畅。如果是零基础学,还是建议直接学Spring Boot。

2 框架的作用类似于模板,java程序员只需要在模板里填入适当的内容即可完成开发,比如在控制器里加入接收请求的业务逻辑,在Repo层加入和数据库整合的逻辑,至于实现细节是由框架底层实现。所以哪怕公司要求会SSM,但求职者只会Spring Boot,公司一般也认。

3 学Spring Boot的时候,相关概念千万要结合案例学,比如IOC,AOP还有ORM,如果单背概念,学不好。

本人最近出了一本Spring Boot书,这本书已经被多个学校作为教材,而且本人兼职在培训班里也会通过Spring Boot框架带领一些朋友入门和深入学习Java,所以在本文里,就将讲讲如何高效地学Spring Boot。

《Spring Boot+Vue.js+分布式组件全栈开发训练营(视频教学版)》(曹宇,胡书敏)【摘要 书评 试读】- 京东图书京东JD.COM图书频道为您提供《Spring Boot+Vue.js+分布式组件全栈开发训练营(视频教学版)》在线选购,本书作者:,出版社:清华大学出版社。买图书,到京东。网购图书,享受最低优惠折扣!icon-default.png?t=M3K6https://item.jd.com/13443796.html

第一步,先要搭建环境。

基本所需的开发环境一般包括,jdk11,因为这个版本稳定,MySQL服务器,MySQL的客户端,比如Mysql WorkBench,IDEA集成开发环境,一般IDEA里会包含Maven,用自带的Maven也行,自己去装个Maven也行。

第二步,就结合一个增删改查的业务,去学Spring Boot的流程。

这里的表可以就一个,业务也可以很简单,就对这个表做增删改查。因为从中不是学做业务,而是学Spring Boot的流程。

在其中照着我书里的范例跑一通,就能知道如何在控制器里接收请求,控制器和Service层怎么调用,Repo层怎么用JPA和MySQL整合。在这个过程中,也可以熟悉各种注解,比如控制器的注解怎么写,如何通过注解接收参数和定义JPA的映射规范。

其实学好这步后真能达到公司开发的基本要求,因为公司开发时,除了业务复杂些,还真只是做类似增删改查的操作,无非就是业务逻辑多些,数据表复杂些。

第三步,深入了解一些Spring Boot的组件和概念。

比如可以通过@Autowired注解了解依赖诸如,通过@Aspect等注解了解面向切片编程,再去了解下Swagger组件以及对应的Restful请求,也可以了解下Junit做单元测试和Spring Security做安全管理的知识。

在这部分里,需要特别重视logback日志组件。因为不少Java初学者在找工作时,只是具有学习项目经验,而不具有真实的开发项目的经验。但如果求职者能在介绍项目时,主动说到logback等商业项目里才用到的组件,那么会增加商业项目的可信度。

其实学到这里,有些朋友可能就会走弯路了,常见的弯路一般有两种。

第一是学前端开发技能,美其名曰全栈开发,比如去学freemarker或vuejs等前端组件。其实在找工作时,求职者如果只说好后端开发技能,哪怕前端技能不会,就有可应聘成功。但相反如果本职工作后端没说好,再去讲前端,这就有些本末倒置了。

第二是去运行项目,更有甚至有些朋友企图是自己根据需求自己搭建个学习项目。但后面应该走的路线是直接找实习或工作机会,在项目里提升。如果用几个月的时间去跑通项目,哪怕辛苦跑通,简历上顶多只能多写几个没什么用的学习项目,而面试成功的技巧其实也和学习项目无关。

那么在学好Spring Boot组件和概念后,继续该怎么学呢?就去了解Spring Boot和分布式组件的整合技能。

1 整合Dubbo+Zookeeper,实现远程调用。

2 整合Redis缓存组件,当然如果可以再去整合MyCAT分库组件,提升数据库性能。

3 整合RabbitMQ或Kafka,实现消息应用,

4 了解用Maven把Spring Boot打成jar包的步骤,和用命令行启动spring boot项目的步骤,其实这就是项目的简单部署步骤,再此基础上用nginx组件做分布式部署,实现负载均衡。

上文里提到Spring Boot对注解支持要比SSM框架要好,和上述组件整合时,Spring Boot可以通过注解实现比较方便的整合,而SSM框架可能就要写不少配置文件了,这也是目前不少公司用Spring Boot框架的原因。

有朋友可能会问了,学Spring Boot之前要不要学Java语法和数据库相关技能?其实不用,快速高效的学习流程一般如下。

1 搭建个Java开发环境,比如JDK+IDEA,用简单的语法,熟悉Java最基本的语法,比如if,while和面向对象等方面的语法。

2 在学Spring Boot框架时,遇到不懂的直接查,比如遇到ArrayList的语法不懂,就去看相关API的作用,遇到try...catch语句,就去先查,去看异常处理的流程。

Java语法点太多,但Spring Boot框架内常用的不多,通过上述方法,能精准高效地上手Java语法和Spring Boot框架。数据库相关技能也是,遇到不熟悉的SQL语法先查也行。

其实学到这个程度,真就可以去面试找工作了,本人有太多的文章讲Java方面该如何找工作。

达到什么水平才能在简历上写熟悉Java? - 知乎我作为Java面试官,平时经常会从一大堆简历中筛选出有面试价值的简历,在本文里,首先将聊聊怎么通过简历…https://www.zhihu.com/question/27198879/answer/2394364895

由于简历和面试方面的技巧和主题无关,所以就请大家看我上面贴的文章,就不展开了,这里只列些操作要点。

1 简历里包含足量的或尽可能多的商业项目经验,同时通过各种措辞和技巧让筛选简历的面试官相信你的项目不是学习项目,而是商业项目。

2 面试时通过项目和业务要点,说明你具有Spring boot开发业务的基本技能,在此基础上背熟Spring Boot,数据库和java方面的八股文。

3 如果可以,通过项目中的业务点和解决过的问题,说明自己在项目里做过分布式组件方面的开发,同时解决实际的线上问题。

其实面试中能做到上述要点,哪怕求职者真没做过实际的spring boot项目,或者项目经验是来自学学项目,面试还真就有可能通过了。

好吧,先写到这里,如果本文点击量高,可能我还会来更新一波,就讲讲在学好Spring boot增删改查的前提下,如何高效准备java面试。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐