论代码所需要的环境、版本的重要性

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 学员们在参与“[基于Spring Boot的博客系统实战](http://coding.imooc.com/class/125.html)”课程的时候,可能没有太注意版本的问题。其实,版本是一个非常重要也是一个非常容易忽略的问题。

学员们在参与“基于Spring Boot的博客系统实战”课程的时候,可能没有太注意版本的问题。其实,版本是一个非常重要也是一个非常容易忽略的问题。

版本不一致会导致各种奇怪的问题,比如:

  • 应用启动不了
  • 启动过程中报错
  • 提示找不到 class
  • 功能不正常
  • 等等

初级学员往往不重视软件版本,存在随意更改版本的现象,从而导致上述问题。同时,学员又缺乏调试程序的能力,一旦出错,将不知所措。认为代码都是跟老师的一样的啊,但是怎么就运行不成功呢?

所以,环境、版本需要纳入和代码同等重要的位置。从某种意义上来讲,环境配置、版本配置都是源码,都要纳入源码管理系统之中。

以下,是课程中学员经常犯的常见的由于环境、版本不一致所导致的问题:

学员们可以对照检查。

如何避免此类错误

简单一句话“莫装逼”。如果能力还不够的话,建议严格按照课程的所采用的版本来。因为课程中所有的软件版本、环境都是经过老师严格测试,并确保可用的。避免此类错误,有效节省学员试错的时间。时间就是money哦~

以下是《基于Spring Boot的博客系统实战》课程所使用的版本:

* JDK 8
* Gradle 3.5
* Eclipse Neon.2 Release (4.6.2):本书示例采用Eclipse编写,但示例源码与具体的IDE无关,读者朋友可以自行选择适合自己的IDE,比如IntelliJ IDEA、NetBeans等。
* Spring Boot 1.5.2.RELEASE
* Thymeleaf 3.0.3.RELEASE
* Thymeleaf Layout Dialec 2.2.0
* MySQL Community Server 5.7.17
* MySQL Workbench 6.3.9
* Spring Data JPA 1.11.1.RELEASE
* Hibernate 5.2.8.Final
* MySQL Connector/J 6.0.5
* H2 Database 1.4.193
* Elasticsearch 2.4.4
* Spring Data Elasticsearch 2.1.3.RELEASE
* JNA 4.3.0
* Tether 1.4.0 :<http://tether.io/>
* Bootstrap v4.0.0-alpha.6 : <https://v4-alpha.getbootstrap.com/>
* jQuery 3.1.1 : <http://jquery.com/download/>
* Font Awesome 4.7.0 :<http://fontawesome.io>
* NProgress 0.2.0 :<http://ricostacruz.com/nprogress/>
* Thinker-md :<http://git.oschina.net/benhail/thinker-md>
* jQuery Tags Input 1.3.6 : <http://xoxco.com/projects/code/tagsinput/>
* Bootstrap Chosen 1.0.3 :<https://github.com/haubek/bootstrap4c-chosen>
* toastr 2.1.1 :<http://www.toastrjs.com/> 
* Spring Security 4.2.2.RELEASE
* Thymeleaf Spring Security 3.0.2.RELEASE
* Apache Commons Lang 3.5
* Markdown parser for the JVM 0.16  
* MongoDB 3.4.4
* Embedded MongoDB 2.0.0

当对讲师的代码熟悉了之后,同时,掌握了调错的能力之后,学员就可以根据自己的情况来调整版本了。 比如,将 Spring Boot 升级到 Spring Boot 2 、使用最新的 ES 版本等。

想学 Spring Boot 2

目前,上述课程是基于 Spring Boot 1.5.2 来讲解的,新版本的 Spring Boot 大致上也是差不多的。学员可以举一反三。

如果想直接学 Spring Boot 2 ,可以关注老师出版的另外一门书《Spring Boot 企业级应用开发实战》(https://book.douban.com/subject/30192752/),基于最新的 Spring Boot 2 来展开。可以理解为是上述课程的升级。对课程的版本进行了升级,同时补充了课程中无法展开的知识点的梳理。

该书所使用的版本如下:

* JDK 8
* Gradle 4.0
* Eclipse Oxygen Release (4.7.0):本书示例采用 Eclipse 编写,但示例源码与具体的 IDE 无关,读者朋友可以自行选择适合自己的 IDE,比如 IntelliJ IDEA、NetBeans 等。
* Spring Boot 2.0.0.M2
* Spring 5.0.0.RC2
* Thymeleaf 3.0.6.RELEASE
* Thymeleaf Layout Dialect 2.2.2
* MySQL Community Server 5.7.17
* MySQL Workbench 6.3.9
* Spring Data JPA 2.0.0.M4
* Hibernate 5.2.10.Final
* MySQL Connector/J 6.0.5
* H2 Database 1.4.196
* Elasticsearch 5.5.0
* Spring Data Elasticsearch 3.0.0.M4
* Tether 1.4.0 :<http://tether.io/>
* Bootstrap v4.0.0-alpha.6 : <https://v4-alpha.getbootstrap.com/>
* jQuery 3.1.1 : <http://jquery.com/download/>
* Font Awesome 4.7.0 :<http://fontawesome.io>
* NProgress 0.2.0 :<http://ricostacruz.com/nprogress/>
* Thinker-md :<http://git.oschina.net/benhail/thinker-md>
* jQuery Tags Input 1.3.6 : <http://xoxco.com/projects/code/tagsinput/>
* Bootstrap Chosen 1.0.3 :<https://github.com/haubek/bootstrap4c-chosen>
* toastr 2.1.1 :<http://www.toastrjs.com/> 
* Spring Security 5.0.0.M2
* Thymeleaf Spring Security 3.0.2.RELEASE
* Apache Commons Lang 3.6
* Markdown parser for the JVM 0.16  
* MongoDB 3.4.6
* Spring Data Mongodb 2.0.0.M4
* Embedded MongoDB 2.0.0
* IK Analysis for Elasticsearch 5.5.0

看视频还是看书

从我个人来看,看视频、看书是两种非常不同的学习方式。视频更加生动且易于理解。而书则更加全面且方便回顾。

如何选择看视频还是看书来学习,取决于个人学习习惯。当然,学习是不嫌多的,如果有充足的时间不妨书和视频一起结合起来看。

老卫课程的优点就是,所有的视频课程,都是会有相关配套的书籍提供的,以利于学员知识点的回顾。视频、看书两不误,双管齐下,老卫更懂你。

以下是老卫的课程,以及对应的书籍:

视频课程 对应书籍
基于Spring Boot的博客系统实战 Spring Boot 企业级应用开发实战
基于Spring Cloud的微服务实战 Spring Cloud 微服务架构开发实战
相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。 &nbsp;
目录
相关文章
Minecraft Forge部署以及部署时可能出现的问题以及解决方案
Minecraft Forge部署以及部署时可能出现的问题以及解决方案
1066 0
|
移动开发 JavaScript
H5唤起手机打电话(拨号)和发短信功能
H5唤起手机打电话(拨号)和发短信功能
714 0
|
3月前
|
Web App开发 人工智能 数据可视化
猫头虎 推荐:国产开源AI工具 爱派(AiPy)|支持本地部署、自动化操作本地文件的AI办公神器
爱派(AiPy)是一款国产开源AI工具,支持本地部署与自动化操作,助力数据处理与办公效率提升。基于Python Use理念,AiPy让AI直接控制本地文件,简化繁琐任务,提供高效智能的解决方案,适用于数据工程师、分析师及日常办公用户。
1206 0
|
11月前
|
JavaScript 前端开发 测试技术
如何确保 Babel 插件的兼容性?
如何确保 Babel 插件的兼容性?
289 60
|
4月前
|
JavaScript 前端开发 UED
Vue 手风琴实现的三种常用方式及长尾关键词解析
手风琴效果是Vue开发中常见的交互组件,可节省页面空间、提升用户体验。本文介绍三种实现方式:1) 原生Vue结合数据绑定与CSS动画;2) 使用Element UI等组件库快速构建;3) 自定义指令操作DOM实现独特效果。每种方式适用于不同场景,可根据项目需求选择。示例包括产品特性页、后台菜单及FAQ展示,灵活满足多样需求。附代码示例与资源链接,助你高效实现手风琴功能。
175 10
如何将一个硬盘同时克隆到多个目标硬盘?图文教程在这里
DiskGenius支持同时克隆到多个目标硬盘,有效解决数据迁移难题。提供三种克隆方式:复制所有扇区、按文件系统结构原样复制和按文件复制,满足不同需求。操作简单,只需选择源盘与目标盘,设置克隆方式并确认执行。注意,目标磁盘数据将被清除,请提前备份。还支持系统迁移优化,确保克隆后系统可正常启动。
|
网络架构
直通网线的标准颜色顺序
【8月更文挑战第5天】
920 2
直通网线的标准颜色顺序
|
10月前
|
机器学习/深度学习 存储 人工智能
【AI系统】感知量化训练 QAT
本文介绍感知量化训练(QAT)流程,旨在减少神经网络从FP32量化至INT8时的精度损失。通过在模型中插入伪量化节点(FakeQuant)模拟量化误差,并在训练中最小化这些误差,使模型适应量化环境。文章还探讨了伪量化节点的作用、正向与反向传播处理、TensorRT中的QAT模型高效推理,以及QAT与PTQ的对比,提供了实践技巧,如从良好校准的PTQ模型开始、采用余弦退火学习率计划等。
499 3
【AI系统】感知量化训练 QAT
|
9月前
|
人工智能 安全 搜索推荐
《盘古大模型——鸿蒙NEXT的智慧引擎》
华为HarmonyOS NEXT发布,将AI与操作系统深度融合,开启智能新时代。其中,盘古大模型为核心,赋予小艺智能助手超强的记忆、推理和规划能力,支持23类记忆类型及万亿token知识量,实现复杂功能如图片转表格、邮件规划导航等,极大提升用户操作效率。同时,盘古大模型助力开发者快速开发智能应用,降低开发门槛,推动智能生态发展。系统还通过星盾安全架构保障数据安全与隐私,确保用户体验更智能、更安全。
746 18
ly~
|
12月前
|
存储 安全 数据库
密码管理器哪个比较好用?
介绍几款常用的密码管理器:Bitwarden功能全面、价格合理,适合个人用户;KeePass高度安全、免费开源,但数据同步不便;LastPass界面友好、跨平台支持好,曾有安全事件;1Password安全性高、用户体验佳,价格偏高;ProtonPass隐私保护强,功能实用,适合Proton生态用户。
ly~
1737 9