热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

前后端分离,我怎么就选择了SpringBoot+Vue技术栈?

前两天又有小伙伴私信松哥,问题还是职业规划,Java 技术栈路线这种,实际上对于这一类问题我经常不太敢回答,每个人的情况都不太一样,而小伙伴也很少详细介绍自己的情况,大都是一两句话就把问题抛出来了,啥情况都不了解,就要指出一个方向,这实在是太难了。

因此今天我想从我学习 Spring Boot + Vue 这套技术栈的角度,来和大家聊一聊没有人指导,我是如何一步一步建立起自己的技术体系的。

线上大家看我经常写文章,线下我其实比较宅,跟人交流比较少,我也很少问别人职业规划或者技术规划这些问题,因为这种学什么的问题,我喜欢自己把握,我不太喜欢被别人牵着走。

Rome was not built in a day,刚开始接触 Spring Boot + Vue 时,我甚至都没有一个明确的想法,只是觉得该学点什么,不能让时间浪费,没有告诉我 Spring Boot 要火了,也没有人告诉我 Vue 要超过 React 了,都是我自己一直在摸索摸索,一步一步,直到构建起这套技术大厦。

Spring Boot

先说说 Spring Boot 吧,三年前差不多也是这个时候,是我第一次接触 Spring Boot ,那个时候我的正式身份还是一名 Android 工程师,那段时间在研究 Android7 的源码,还写了一些博客:

前后端分离,我怎么就选择了 Spring Boot + Vue 技术栈?

但是那个时候 Android 的行情在慢慢下滑,而我刚毕业 1 年多,未来还有更加丰富的技术人生,我不愿意这么早就把技术栈定死,而且还定在一个行情日渐下滑的技术栈上。所以我打算学一点新的东西。

Python、Go、前端 和 Java 都是备选的方向,但是最终还是选择继续做 Java,有三个原因:

  • 做 Java 当时可以在公司内部转岗,做 Python 或者 Go 的话,可能就得换工作了,技术栈切换,一切从头开始,当时心里还是没底,于是就选择继续做 Java
  • 刚好大学的时候也有 JavaEE 的底子,重新捡起来 JavaEE 相关的技术点倒也不是啥难事
  • 第三点也是最重要的一点,我一直希望能够独立接点私活,这样有一天赚钱能够不受工作地点的限制,基于这样的初衷,我一直希望走全栈的路线,用 Python 和 Go 虽然也可以做企业级应用,但是在目前的技术环境下,这并不算是主流方案,主流方案依然是 Java ,虽然它被被多人吐槽

基于以上三点,我决定还是走 Java 的方向吧。

2016 年那会,CSDN 几乎每个月送我一本技术图书,10 月份的图书我就和梦鸽美女要了一本 Spring Boot 相关的书,书到了之后,一直在忙各种事情没时间看,到了当年 12 月份的时候,公司安排我去深圳出差,出差的话,每天下班后时间就比较充裕了,于是我就带上了书,每天下班回到酒店,就开始搞 Spring Boot。

一开始我就发现这玩意相比我大学时候搞得 XML 配置的 SSM 太好用了,还是 SSM 那套东西,但是有了自动化配置,不用再去写让人头大的 XML 配置了,可以基于 Spring Boot 快速搞一个 SSM 应用出来。不过刚开始学的时候我还不知道 Spring Boot 在 Java 领域如此火爆,当我写了几篇博客之后,我发现每篇博客的阅读量都暴涨,远远高于其他博客的阅读,我隐隐约约感觉到这次稀里糊涂的技术栈切换,算是没走错路。

不过老实说,Spring Boot 技术栈其实不算难,都是 SSM 那一套东西,只是多了自动化配置(当然,Spring Boot 也有不少自己的东西,不过整体上基于 SSM 这点应该没啥争议),我刚开始搞 Spring Boot 的时候,有时候会有一些东西看的云里雾里,后来发现问题出在 Spring + SpringMVC 上,好几年不写 JavaEE,这些东西有一点点生疏了,后来又花了一些时间把 SSM 这些东西系统过了一遍,然后再去看 Spring Boot 就顺畅多了。

所以有一些小伙伴问松哥能不能跳过 SSM 直接学习 Spring Boot,这个我不建议,大家在 Spring Boot 中见到的很多神奇的自动化配置大部分都是基于 Spring 现有功能实现的,要是不懂实现原理,你会发现 Spring Boot 用得时候虽然好用,但是出了问题,你就束手无策了。

就这样,跳入了 Spring Boot 的坑里了。Spring Boot 学完没多久,工作上,马上要从 Android 切换到 JavaEE 了,亟需一个项目练练手,当时我的上司给我介绍了一个***大学的项目,我使用 Spring Boot+EasyUI 的技术栈花了不到一个礼拜做完了,从此就算是叩开了 JavaEE 的大门,那会是 2017 年。

当时前端选择 EasyUI 也是没办法,甲方催得紧,而我来不及搞其他的前端框架,当时只有 EasyUI 熟悉一些,不用花时间学,直接就能用,于是就选择了 EasyUI,但是 EasyUI 太丑了,所以在做完***大学的项目后,我就一直思量着再整一个专业的前端框架,这样以后再有私活,我就可以独立做出来一个好看的后端管理系统了。

就这样,在综合对比了 Vue、React 以及 Angular 之后,决定跳入 Vue 的坑。

Vue

前端其实还算接触的比较早,最早的 jQuery Mobile,PhoneGap 上大学的时候就玩过,我的第一本 NodeJS 的书是在 2013 年买的,那个时候 NodeJS 还算是一个比较新的事物。当我还是一名 Android 工程师的时候,我就玩过 React 和 ReactNative,RN 是当时比较流行的一个跨平台解决方案。但是在我比较这三个技术栈的时候,我发现 Vue 更加好用,生态也更加丰富,而且大有超过 React 的架势(当时 Vue 在 GitHub 上的 star 数还没超过 React),于是我就选择了 Vue。其实当时我心里想,大不了学完 Vue 再学 React,反正我才刚毕业两年多,没必要这么早就锁定技术栈停止学习。

Vue 的学习确实不费啥事,花了两三天时间刷了一遍官网,然后就开始做项目,但是要去深入学习,又是一个漫长的过程了。

Vue 有很多漂亮的 UI 库,像 ElementUI 等都算是做的比较好的,这些东西只要会用其中一个,其他的就可以手到擒来。

到 2018 年初,Spring Boot+Vue 技术栈基本上已经熟悉了,两个开源项目 V 部落(V 部落)和微人事(视频揭秘微人事项目实现过程)也受到小伙伴们的欢迎,常规的企业级应用可以一个人独立完成了,5 月份的时候,经朋友介绍,接了哈尔滨工程大学一位老师的项目,毫无疑问我就使用了最擅长的 Spring Boot+Vue 技术栈来做了,前后端都是自己做,没人扯皮,美滋滋。

再后来,就是写书(我的第一本书,被选作大学教材了!),业余继续搞点项目用 Spring Boot + Vue 来做,这些以前都和大家聊过我就不再多说了,业余接点项目来做这块倒是有一些经验,以后和小伙伴们细聊。

就这样,没有任何人的指引,我慢慢构建了 Spring Boot + Vue 这套技术体系,这个过程中,最大的学习经验就是要写博客,做笔记,写博客不仅仅是记录,也是总结提炼,在写的过程中,融入自己的思考,加深对技术的理解。 掌握了这套技术栈之后,我觉得我离全栈又更近了一步,离赚钱不受工作地点的限制这个目标也更近一步了。

结语

有前辈大佬的指引,你可能走得快,自己摸索,走的踏实。其实从我第一天自学 Java 开始,基本上都是一直在摸索。大学时候一个 BUG 折腾两三天才解决,但是一旦自己想明白解决了,以后类似的错误不会再犯,这是我的感受。

好了,一点点学习经验,和小伙伴们分享,要是觉得有启发,欢迎转发哦。

扫码关注松哥,公众号后台回复 2TB,获取松哥独家 超2TB 学习资源

前后端分离,我怎么就选择了 Spring Boot + Vue 技术栈?


推荐阅读
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 安卓select模态框样式改变_微软Office风格的多端(Web、安卓、iOS)组件库——Fabric UI...
    介绍FabricUI是微软开源的一套Office风格的多端组件库,共有三套针对性的组件,分别适用于web、android以及iOS,Fab ... [详细]
  • 本文讨论了在Spring 3.1中,数据源未能自动连接到@Configuration类的错误原因,并提供了解决方法。作者发现了错误的原因,并在代码中手动定义了PersistenceAnnotationBeanPostProcessor。作者删除了该定义后,问题得到解决。此外,作者还指出了默认的PersistenceAnnotationBeanPostProcessor的注册方式,并提供了自定义该bean定义的方法。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
author-avatar
沈驰27
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有