2020尚硅谷-谷粒商城(01)项目搭建

项目特点

  • 前后端分离。前端Vue,后端springclioud微服务。restful请求
  • CI/CD,k8s一站式发布、运维
  • 商品 支付 优惠 用户 仓储 秒杀 订单 检索 认证 购物车 后台 第三方服务 物流 短信 金融 身份认证

环境搭建

MySQL

docker run -p 23306:3306 --name mysqlGrain \
-v /var/grainmall/docker/mysql57/mysqlGrain/conf:/etc/mysql \
-v /var/grainmall/docker/mysql57/mysqlGrain/logs:/var/log/mysql \
-v /var/grainmall/docker/mysql57/mysqlGrain/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7

设置默认编码

cd /var/grainmall/docker/mysql57/mysqlGrain/conf
vi vi my.cnf

写入

[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

验证

show variables like '%char%';
/*
character_set_client	utf8mb4
character_set_connection	utf8mb4
character_set_database	utf8
character_set_filesystem	binary
character_set_results	utf8mb4
character_set_server	utf8
character_set_system	utf8
character_sets_dir	/usr/share/mysql/charsets
*/

redis

先创建 redis.conf 文件,以免 docker 挂载时将其认为是目录

mkdir -p /var/grainmall/docker/redis5/redisGrain/conf
touch /var/grainmall/docker/redis5/redisGrain/conf/redis.conf

运行

docker run -p 26379:6379 --name redisGrain \
-v /var/grainmall/docker/redis5/redisGrain/data:/data \
-v /var/grainmall/docker/redis5/redisGrain/conf/redis.conf:/etc/redis/redis.conf \
-d redis:5 redis-server /etc/redis/redis.conf

配置持久化

vi redis.conf

插入

appendonly yes

重启容器

docker restart redisGrain

其他环境

  • JDK 1.8
  • ideaJ 后端开发
  • vscode 前端开发

vscode 插件
auto close tag
auto renaming tag
chinese
eslint
html css support
html snippets
javascript(es6)
live server
open in broser
veter

  • node.js

初始化后端项目

  • 新建仓库 https://github.com/madokast/grainmall2020
  • ideaJ new project from version control
  • spring.io 创建5个模块,引入 web 和 openfeign。注:不推荐这么做,应首先创建父工程,并先在父POM中写好 ,配好springboot和springcloud的版本

商品服务 product 端口 35200
仓储服务 ware 端口 35300
订单服务 order 端口 35400
优惠券服务 coupon 端口 35500
用户服务 member 端口 35600

  • 编写父POM文件,主要是里把5个模块引入
  • 写 .gitingore

**/mvnw
**/mvnw.cmd
**/.mvn
**/target/
.idea
**/.gitignore

初始化数据库

数据库建表

人人开源搭建后台管理系统

后端

  • https://gitee.com/renrenio/renren-fast 后台管理系统的的后端 采用 springboot mybatis
  • 将renren-fast克隆,复制到项目中(和5个模块同一级),删除.git,在父POM中关联
  • 根据 renren-fast/bd/mysql.sql 在数据库中建立 gulimall_admin 库

前端

  • https://gitee.com/renrenio/renren-fast-vue 后台管理系统的前端 采用vue
  • 用 vscode 打开文件夹 执行安装 npm install
  • npm run dev 启动应用。按照提示访问即可

利用renren-generator自动生成增删改查代码

  • 克隆 https://gitee.com/renrenio/renren-generator
  • 删除其中的.git文件夹,并复制到工程中,添加到父POM,修改 applicatio.yml 和 generator.properties

url: jdbc:mysql://192.168.2.3:23306/gulimall_pms?useUnicode=true&characterEncoding=UTF-8&useSSL=false
username: root
password: 123456

mainPath=com.atguigu
#包名
package=com.atguigu.gulimall
moduleName=product
#作者
author=madokast
#Email
[email protected]
#表前缀(类名不会包含表前缀)
tablePrefix=pms_

  • 修改 resource/template/Controller.java.vm,注释掉 @RequiresPermissions有关代码
  • 启动应用,访问 http://localhost/#generator.html 生成代码,将代码复制到项目对应模块
  • 解决报错问题,主要是缺少common包和mybatis-plus-boot-starter、org.apache.httpcomponents、commons-lang依赖
  • 因此新建 gulimall-common 模块,缺少的类直接从 renren-generator 中复制,例如 R类,用于所有返回值
  • 其他模块引用 gulimall-common,配置相关的application.yml

spring:
datasource:
username: root
password: 123456
url: jdbc:mysql://192.168.2.3:23306/gulimall_pms?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis-plus:
mapper-locations: classpath:/mapper/**/*.xml
global-config:
db-config:
# 主键自增
id-type: auto
server:
port: 35200

  • 解决报错后,测试一下数据库访问是否成功,例如访问http://192.168.2.13:35200/product/brand/list
  • 没有问题后,将其他4个服务的CRUD代码也一一生成复制到项目。

你可能感兴趣的:(自学Java)