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中寫好 <dependencyManagement>,配好springboot和springcloud的版本

商品服務 product 端口 35200
倉儲服務 ware 端口 35300
訂單服務 order 端口 35400
優惠券服務 coupon 端口 35500
用戶服務 member 端口 35600

  • 編寫父POM文件,主要是<modules>裏把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代碼也一一生成複製到項目。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章