本人土木工程出身,毕业在深圳混了三年之后(2018年初25岁,同学们可做参考),开始学习java。经过一年鏖战,终于入职。(没有参加培训,可能培训班的同学比我优秀哈)。虽说只是入行,但也算是一个对自己的肯定。总算挺了过来,这里分享下自己的学习经历(包括弯路),算是给自学的同学一点建议:
学习网站比较重要,特别不推荐培训班的盗版资料。虽然淘宝10块钱就能买1T,但是不清晰也不够完整也未必看得下去,盗版学起来很虚。盗版虽便宜,但自己的时间可是很珍贵!(我为此浪费过一个月的时间)给大家推荐我自学并成功入行的的java自学网站:
我在上面用三个月左右学习了java基础,用两个月学习了spring系列框架,基本了解maven,redis,Nginx等中间件简单使用(我前半年是一边工作晚上练习,下半年就辞职了,如果你全身心练习应该比我快一些)。在做完ssm和springboot版天猫实战项目之后有了面试信心。接近十次面试入职。
这个网站包括前端、后端全栈技术内容,是站长一个人所做(应该是个80后)。网站画风比较简单明了,是bootstrap原生风格。(当然,也没有广告)。教程基本采用简单明了的文字和例子,很容易懂。只有在很扼要的地方,采用少量的视频讲解。更清晰明白,我觉得比较适合我。最重要的是这个教程很多例子都是以lol为例子介绍的,这样学起来就显得非常有趣,比如英雄这个对象是一个类,血量、护甲、攻击、法强是属性等概念,深入浅出。现在想来,这不是开玩笑,我想英雄联盟的代码也应该差不多是这样设定的(我大学可是玩了四年lol,战争学院最高黄金I,不过好久没玩了),这是教程截图:
[我几乎学完了全部教程,目前该网站的springcloud还在更新中]
所有的内容系统性的排列,包含了基础,中级,高级,前端,数据库,框架,实战项目、工具和中间件,分布式和集群。包含java基础和企业级框架和最新springboot、springcloud分布式和集群等内容,我就是按部就班,一个一个跟着学,(当然,为了赶进度,我没有学habinate和Struts2,我是直接学的springmvc,和mybatis,后面springboot持久层用的jpa,我没有学habinate还感觉有点欠缺,因为jpa是包装了habinate,有些继承的类,不是很理解,后面有时间再看看habinate。)我跟着网站节奏,半年多时间从java基础、中级、高级、javaweb、到spring系列框架,这些基础等学完后,开始做摩拳擦掌,做项目实战!(因为我比较心急,而且刚学完spring、springmvc、mybatis框架,趁热打铁,直接开始做ssm版天猫)
这个项目真心是个不错的实战项目,因为我之前看过盗版的也是商城的项目,好像叫淘淘商城(应该是黑X盗版),但是哪个录的不狗清晰也不完整,视频中的讲师不着调的幽默我也很难受。我在qq上咨询了站长(我后来加了站长qq),我说怎么都是商城的实战项目,我看培训班都是这个,淘宝、天猫、京东也就这三家,我不是很乐意学这个。站长跟我讲,他的这个天猫做出来效果跟实际天猫功能没有太多区别的,以天猫的复杂程度,如果能做下来,各方面的长进是看得见的,找工作应该没问题。而且现在的网购团购这么多,随便写成一个团购商城进简历就ok,别人真能查到你么。(这一句才真的打消了我的疑虑,后来我在简历里改写为我在一个微信购物小程序做后端)。
这个网站的一个特点就是站长把整个项目按照企业级开发,从需求分析、表结构设计、到前后端分离设计、一步一步分解,每一步做了什么都做了文字和说明:
按部就班,一步一步跟着做。
总之,你在项目开发中会遇到的一切问题,站长都帮我们提前想好了。在这个过程中你就会慢慢体会到了实际项目开发中的一些问题(要知道这个项目是模仿天猫商城的项目,天猫商城的业务其实相当复杂商品分类、属性、购物车、订单、订单项、付款、发货等等模块非常多,这个项目除了数据量没有真正的天猫商城大之外,就是企业级开发),而你遇到的每个问题站长几乎都有详细的教程讲解,照着教程做一遍,理解每一步的含义,一直做到项目完工,基本的项目实际开发流程你就心中了然了,之后你想要在项目上添加什么功能相当于有了项目经验可以做参考。但是我要说明一点:对于初学者,这么复杂的项目逻辑,要弄明白每一步的含义,虽然有讲解,也要静下心来用心理解,这并不容易。
历经一个月我终于照葫芦画瓢做出了ssm版天猫,做完长舒一口气,一阵激动:我想我也应该能胜任一般公司初级的java开发岗了!但打开boss直聘,发现很多要求springboot,vue,nginx等要求,想起几个月前面试失败的两次经历(我住深圳龙岗,去南山科技园面试常常一去一回浪费一整天且精疲力尽),我想一不做二不休,把springboot版本天猫也做了!
[JAVA WEB 项目教程-模仿天猫整站 springboot版]
我发现springboot版天猫相对于ssm版没有本质区别,数据库表结构没有改变,springboot相当于简化版的ssm,配置文件极少,更方便开发,我想我刚做完ssm版,基本逻辑一样,都是天猫,我能更快完成。可是我还是天真了,springboot版用的vue前后分离restful风格,后端用到nginx技术实现动静分离,shiro的安全框架,redis的缓存,elastic search的搜索引擎等企业级内容,这些都要一边搞一边学,四十天后,我完成了。然后是投递简历,面试,十次面试入职。其实如果真的实实在在做完了实战项目,我发现简历技术、项目介绍都不再那么难写,就实实在在写就可以了。至于十次面试才入职,我觉得已经很好了,因为今年市场环境是很不好,有一家出价太低我没考虑,毕竟觉得自己也不至于那么廉价。一方面也因为是我普通人的智商,大家应该比我聪明哈哈。
写这篇文章的目的,因为我算是站长的弟子,他带我入门带我走进了java这一行。虽然没有见过面,我心中有感激。站长一人写这个java全栈工程师网站,没有精力来推广,以至于绝大多数人都不知道:how2j全栈工程师
以上就是我这将近一年来的java自学过程,其实现在想来,做完天猫ssm版之后,耐心点去找工作,没有问题。现在上班也用的ssm,但是也不亏,毕竟springboot是流行趋势,要不断学习进步呀。最后告诫所有想换行的同学,java没有捷径。