疫情期间,不少人选择宅家购物。

但当你每天在“淘宝”“京东”“网易考拉”上剁手买买买,钱包瘪下去的时候,有没有考虑一下自己开发个商城呢?

钱包不受累,还能顺带满足购物欲。

登陆商城,搜索,货比三家,下单,突然不想要了,自己给自己办理退货,如行云流水一般,一气呵成。

今天,给大家带来的是SpringBoot实战教程《Spring Boot 企业级商城开发实战》,侧重于如何使用 Spring Boot 来开发一个大型的商城项目,让更多的 Spring Boot 技术学习者有更加深刻的学习和实践体验。

先看看教程最终打造的商城:


训练营节选:

实验一介绍

实验内容

工欲善其事必先利其器,在进行 Spring Boot 项目开发前首先要把基础的开发环境搭建完成,因此本节课程我会介绍项目开发时的一些基础环境,如果你对 Spring Boot 项目开发有一定的了解或者已经准备好基础环境的话,可以选择性的略过这一节。

实验知识点

  • Spring Boot 2 版本更新介绍
  • 本实验所选择的 Spring Boot 2.2 版本介绍
  • JDK 8
  • Maven 简介
  • MySQL 数据库

实验环境

  • JDK 1.8 或者更高版本
  • Spring Boot 2.2.2.RELEASE
  • Maven 3+

Spring Boot 2 版本新内容简介

这次训练营,我们将会使用 Spring Boot 2.2.2-RELEASE 版本进行所有实验的开发,这一小节会向大家简单的介绍一下 Spring Boot 2 这个非常重要的版本以及本次实验所选择的 Spring Boot 2.2.2 版本。

2018 年 3 月 1 号 Spring Boot 2 正式发布,这是 Spring Boot 1.0 发布 4 年之后的一次非常重要的版本更新,有很多新功能和特性值得开发者们注意。

  • 基于 Java 8,支持 Java 9
  • 支持 Quartz 调度程序
  • 大大简化了安全自动配置
  • 支持嵌入式 Netty
  • Tomcat, Undertow 和 Jetty 均已支持 HTTP/2

同时,Spring Boot 2.0 基于 Spring Framework 5 构建,本次更新中也对部分其依赖的第三方组件进行了升级,主要有以下几个:

  • Jetty 9.4
  • Tomcat 8.5
  • Flyway 5
  • Hibernate 5.2
  • Gradle 3.4
  • Thymeleaf 3.0

这里只介绍了与本次课程有关的一些内容,想要了解更多 Spring Boot 2.0 新特性的同学可以查看其官方发布内容。

基础环境之 JDK 8

通过前文的介绍,我们知道 Spring Boot 2 要求 Java 8 作为最低版本,因此需要在本机安装 JDK8 并进行环境变量配置,以进行 Spring Boot 2 项目开发。

打开实验楼环境,依次点击 File --> Open New Terminal(打开命令行),可以看到下方出现命令行工具,之后输入命令 java -version 查看环境中是否已经安装了 JDK 以及 JDK 版本是否为 1.8 及以上,最终结果如下图所示:

咱们实验楼的线上开发环境已经安装了 JDK 且版本为 1.8,因此无需我们再去手动安装,这一点还是十分方便的。如果在你自己机器上开发的话,你需要安装 JDK 8,同时配置环境变量等等。

基础环境之 Maven

Spring Boot 官方支持 Maven 和 Gradle 作为项目构建工具,在日常开发工作中,Maven 是一个更加大众的选择,Gradle 相比 Maven 来讲其行业使用率偏低,并且 Spring Boot 官方默认使用 Maven,因此本课程选择使用 Maven 作为项目构建工具,在进行实际的 Spring Boot 项目开发前也一定要将 Maven 安装并配置正确。

打开实验楼环境,依次点击 File --> Open New Terminal(打开命令行),可以看到下方出现命令行工具,之后输入命令 mvn -v 查看环境中是否已经安装了 Maven,最终结果如下图所示:

实验楼的线上开发环境已经安装了 Maven 3.5.4 版本,无需我们再去手动安装,可以直接使用。如果在你自己机器上开发的话,你需要确保你的系统中已经安装了 Maven。

MySQL 数据库

数据库往往是项目开发中不可或缺的角色,不过它并不是 Spring Boot 2 项目开发中必须的基础环境,只是我们最后的实战项目开发中会使用它作为数据存储,因此在这里也简单的介绍一下,实验楼线上环境也默认安装了 MySQL 数据库,不需要我们手动去安装和配置,省去了很多麻烦。

进入实验楼线上开发环境,首先打开一个命令窗口,点击 File -> Open New Terminal 即可,之后在命令行中输入以下命令:

sudo service mysql start

因为用户权限的关系,需要增加在命令前增加 sudo 取得 root 权限,不然在启动时会报错,之后等待 MySQL 正常启动即可,过程如下图所示:

启动成功后,我们登录 MySQL 并执行一些基本的命令测试一下数据库。

首选,执行如下命令登陆 MySQL 数据库:

sudo mysql -u root

因为实验楼线上实验环境中 MySQL 数据库默认并没有设置密码,因此以上命令即可完成登陆,登陆后执行命令:

show databases;

可以查看当前 MySQL 中的所有 database,线上环境中的 MySQL 数据库一切正常。

总结

磨刀不误砍柴工,事先准备好环境才有利于进行后续的操作,不过大家需要区分实验楼线上开发环境和你本机的开发环境

线上环境中所有的基础环境都已经准备好,但是如果你在本机上进行开发的话,这些基本的环境搭建你需要确保正常,之后才能够进行咱们本课程后续实验的开发和编码。

还有一点需要大家注意,不管是咱们实验楼的线上环境还是你本地的环境,都可以运行和修改本次训练营的所有代码,前提是你已经按照本文中的建议将基础环境搭建正确,同时,后续实验的所有项目源码也会直接提供给大家练习。


接下来,在实验2中会教大家如何快速构建一个 Spring Boot 项目。

在《Spring Boot 企业级商城开发实战》中,可查看后续内容及源码。

SpringBoot 实战:如何从零开发 “淘宝”相关推荐

  1. 案例实战:采用redis生成淘宝商品的全局id

    案例实战:采用redis生成淘宝商品的全局id 一.为什么分布式系统需要全局唯一id ? 在互联网系统中,并发越大的系统,数据就越大,数据越大就越需要分布式,而大量的分布式数据就越需要唯一标识来识别它 ...

  2. HTML实战案例4:制作淘宝店铺列表页面

    实战案例4:制作淘宝店铺列表页面 一.完整的页面效果图 二.文本素材 淘宝首页> 店铺街> 所有店铺(4626173)  淘店    店铺类目           韩都衣舍旗舰店     ...

  3. 开发淘宝模板:php小知识点,解决大问题

    开发淘宝SDK,并不需要多少复杂的php知识.这里总结了几点,不一定全面,反正够用就行. 1.explode(separator,string,limit)    功能:将字符串拆分成数组 当获取的f ...

  4. 开发淘宝开放平台中的B端或者C端小程序,后端调用api使用的sessionKey如何获取?

    开发淘宝开放平台中的B端(千牛端)或者C端小程序,后端调用api使用的sessionKey如何获取? TaobaoClient client = new DefaultTaobaoClient(url ...

  5. springboot加载第三方jar包淘宝sdk进行打包编译

    开发工具idea,开发springBoot电商项目,需要加载淘宝的sdk,以下有几种方式加载 通过这种方式加载第三方jar包,可以正常开发,但是打包部署服务器运行的时候会报错缺少jar包,无法打包的时 ...

  6. 开发淘宝、京东、苏宁、拼多多转链软件

    开发(四合一)转链机器人,有兴趣探讨的可以看我资料私聊我. ①酷Q/契约多个QQ平台框架②京东.苏宁.淘宝.拼多多4大平台③私聊查券/定时发送/全局撤回/重复过滤/黑名单管理及入群审核,④淘宝分享券/ ...

  7. 霍常亮教你开发淘宝客app第2节

    霍常亮淘宝客APP开发系列教程第二期第2节 之前录制的收费培训课程,现在免费分享给大家! 您的关注和点赞是我更新的最大动力! 更多教程以及合作请关注微信公众号:霍常亮创业日记

  8. 霍常亮教你开发淘宝客app第3节

    霍常亮淘宝客APP开发系列教程第二期第3节 之前录制的收费培训课程,现在免费分享给大家! 您的关注和点赞是我更新的最大动力! 更多教程以及合作请关注微信公众号:霍常亮创业日记

  9. 霍常亮教你开发淘宝客app第11节:uniapp数据绑定

    霍常亮淘宝客教你开发app第11节:uniapp数据绑定 每日更新一节课 之前录制的收费培训课程,现在免费分享给大家! 您的关注和点赞是我更新的最大动力! 更多教程以及合作请关注微信公众号:霍常亮创业 ...

最新文章

  1. python如何自定义函数_python基础之函数(自定义函数)
  2. 万字长文让你看够幂级数
  3. Non-local Neural Networks:非局部神经网络
  4. Java集合篇:HashMap 与 ConcurrentHashMap 原理总结
  5. 深入深出Sigmoid与Softmax的血缘关系
  6. SQLi LABS Less-36
  7. 使用h5py操作hdf5文件
  8. 新浪2017校园招聘---C++后台研发
  9. 像科学家一样思考python_像计算机科学家一样思考Python (第2版) 中文pdf完整版
  10. 【Oracle】Drop表后闪回
  11. linux下搭建radius服务器,linux搭建freeradius服务器
  12. 如何使用PS修改图片中的数字
  13. java4android 听课笔记_Java4Android 课程笔记
  14. AJAX(七)jsonp实战--天气预报
  15. 软件功能测试概论(课堂练习1)
  16. Project:解决问题:在Microsoft project2016中如何编辑一周七天工作日
  17. web前端面试题— 简答题
  18. java开发可视化界面_java 可视化界面编程
  19. 声音识别动画(下)-----线形(曲线)声音识别动画
  20. 深度学习系列24:开源抠图算法

热门文章

  1. 大二暑假周进度总结03
  2. java实现ftp文件的上传与下载
  3. HttpClient常用的一些常识
  4. 删除A数据表中的一行数据时,不小心将表名写成了B,现在想恢复B中刚删除的的着一行数据怎么办...
  5. 大数高精运算-----乘法
  6. [转载]JAVA实现鼠标右键功能
  7. 用WPF山寨折线图,抄?是狠狠的抄
  8. CSLA .Net学习资料
  9. 创建yum存储库;文件目录下存RPM包,不挂载镜像,不使用外网yum源;
  10. [NOI2011]兔兔与蛋蛋游戏 二分图博弈