SpringBoot 实战:如何从零开发 “淘宝”
疫情期间,不少人选择宅家购物。
但当你每天在“淘宝”“京东”“网易考拉”上剁手买买买,钱包瘪下去的时候,有没有考虑一下自己开发个商城呢?
钱包不受累,还能顺带满足购物欲。
登陆商城,搜索,货比三家,下单,突然不想要了,自己给自己办理退货,如行云流水一般,一气呵成。
今天,给大家带来的是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 实战:如何从零开发 “淘宝”相关推荐
- 案例实战:采用redis生成淘宝商品的全局id
案例实战:采用redis生成淘宝商品的全局id 一.为什么分布式系统需要全局唯一id ? 在互联网系统中,并发越大的系统,数据就越大,数据越大就越需要分布式,而大量的分布式数据就越需要唯一标识来识别它 ...
- HTML实战案例4:制作淘宝店铺列表页面
实战案例4:制作淘宝店铺列表页面 一.完整的页面效果图 二.文本素材 淘宝首页> 店铺街> 所有店铺(4626173) 淘店 店铺类目 韩都衣舍旗舰店 ...
- 开发淘宝模板:php小知识点,解决大问题
开发淘宝SDK,并不需要多少复杂的php知识.这里总结了几点,不一定全面,反正够用就行. 1.explode(separator,string,limit) 功能:将字符串拆分成数组 当获取的f ...
- 开发淘宝开放平台中的B端或者C端小程序,后端调用api使用的sessionKey如何获取?
开发淘宝开放平台中的B端(千牛端)或者C端小程序,后端调用api使用的sessionKey如何获取? TaobaoClient client = new DefaultTaobaoClient(url ...
- springboot加载第三方jar包淘宝sdk进行打包编译
开发工具idea,开发springBoot电商项目,需要加载淘宝的sdk,以下有几种方式加载 通过这种方式加载第三方jar包,可以正常开发,但是打包部署服务器运行的时候会报错缺少jar包,无法打包的时 ...
- 开发淘宝、京东、苏宁、拼多多转链软件
开发(四合一)转链机器人,有兴趣探讨的可以看我资料私聊我. ①酷Q/契约多个QQ平台框架②京东.苏宁.淘宝.拼多多4大平台③私聊查券/定时发送/全局撤回/重复过滤/黑名单管理及入群审核,④淘宝分享券/ ...
- 霍常亮教你开发淘宝客app第2节
霍常亮淘宝客APP开发系列教程第二期第2节 之前录制的收费培训课程,现在免费分享给大家! 您的关注和点赞是我更新的最大动力! 更多教程以及合作请关注微信公众号:霍常亮创业日记
- 霍常亮教你开发淘宝客app第3节
霍常亮淘宝客APP开发系列教程第二期第3节 之前录制的收费培训课程,现在免费分享给大家! 您的关注和点赞是我更新的最大动力! 更多教程以及合作请关注微信公众号:霍常亮创业日记
- 霍常亮教你开发淘宝客app第11节:uniapp数据绑定
霍常亮淘宝客教你开发app第11节:uniapp数据绑定 每日更新一节课 之前录制的收费培训课程,现在免费分享给大家! 您的关注和点赞是我更新的最大动力! 更多教程以及合作请关注微信公众号:霍常亮创业 ...
最新文章
- python如何自定义函数_python基础之函数(自定义函数)
- 万字长文让你看够幂级数
- Non-local Neural Networks:非局部神经网络
- Java集合篇:HashMap 与 ConcurrentHashMap 原理总结
- 深入深出Sigmoid与Softmax的血缘关系
- SQLi LABS Less-36
- 使用h5py操作hdf5文件
- 新浪2017校园招聘---C++后台研发
- 像科学家一样思考python_像计算机科学家一样思考Python (第2版) 中文pdf完整版
- 【Oracle】Drop表后闪回
- linux下搭建radius服务器,linux搭建freeradius服务器
- 如何使用PS修改图片中的数字
- java4android 听课笔记_Java4Android 课程笔记
- AJAX(七)jsonp实战--天气预报
- 软件功能测试概论(课堂练习1)
- Project:解决问题:在Microsoft project2016中如何编辑一周七天工作日
- web前端面试题— 简答题
- java开发可视化界面_java 可视化界面编程
- 声音识别动画(下)-----线形(曲线)声音识别动画
- 深度学习系列24:开源抠图算法