谷粒商城(一)| 环境搭建
Docker 安装
Docker 安装MySQL
下载镜像
docker pull mysql:5.7创建实例
docker run -p 3307:3306 --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7参数说明:
- -p 3306:3306:-p 主机端口:容器端口,将容器的3306端口映射到主机的3306端口
- -v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
- -v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
- -v /mydata/mysql/data:/var/lib/mysql:将配置文件夹挂载到主机
- -e MYSQL_ROOT_PASSWORD=root:初始化root用户密码
- -d mysql:5.7:表示后台运行(-d) 镜像mysql:5.7 –>查看镜像docekr images
进去docker 容器
root@af26dd647c9a:/# docker exec -it mysql /bin/bash root@af26dd647c9a:/# whereis mysql mysql: /usr/bin/mysql /usr/lib/mysql /etc/mysql /usr/share/mysqlmysql配置 my.cnf
[root@lingzx conf]# vi /mydata/mysql/conf/my.cnf[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] init_connect='SET collation_connection=utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake skip-name-resolve lower_case_table_names=1查看docker中MySQL的配置
cd /etc/mysql cat my.cnf开机自启
docker update mysql --restart=always
Docker 安装Redis
下载redis 镜像
docker pull redis创建实例并启动
# 由于 redis容器 /etc/redis目录下没有 redis.conf ,所以需要我们预先在主机上创建一个 redis.conf mkdir -p /mydata/redis/conf touch /mydata/redis/conf/redis.conf docker run -p 6379:6379 --name redis \ -v /mydata/redis/data:/data \ -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \ -d redis redis-server /etc/redis/redis.conf # 连接 docker中的 redis的控制台 docker exec -it redis redis-cli配置持久化
当前版本的redis默认配置了【文件追加写持久化】aof
vi /mydata/redis/redis.conf appendonly yes docker restart redis开机自启
docker update redis --restart=always
统一环境
Maven 3.6.1
链接: https://pan.baidu.com/s/1Jd5EAXADSEFop2QT8sxzBA 提取码: 38iw 复制这段内容后打开百度网盘手机App,操作更方便哦
配置阿里云镜像
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
</mirrors>
配置 JDK 1.8 编译环境
<profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compile.source>1.8</maven.compile.source>
<maven.compile.target>1.8</maven.compile.target>
<maven.compile.compilerVersion>1.8</maven.compile.compilerVersion>
</properties>
</profile>
</profiles>
配置本地仓库
<localRepository>D:\Program Files\Maven\LocalWareHouse</localRepository>
IDEA 安装插件
lombokMybatisX
Vscode 安装配置
Auto Close TagAuto Rename TagChinese (Simplified)ESLintHTML CSS SupportHTML SnippetsJavaScript(ES6)Live Serveropen in browserVetur
安装配置 Git
下载
git:https://git-scm.com配置
git,进入git bash# 配置用户名 git config --global user.name 'username' # 配置邮箱 git config --global user.email 'username@email.com'配置
shh免密登录,进入git bashssh-keygen -t rsa -C 'xx@xxx.com'三次回车,查找
id_rsa和id_rsa.pub登录
gitee,在设置里面找到SSH KEY将.pub文件的内容粘贴进去# 查看是否成功 ssh -T git@gitee.com
创建项目
商品服务、仓储服务、订单服务、优惠券服务、用户服务
共用:
web 、openfeign- 每个服务,包名 com.atguigu.gulimall.xxx(
product/order/ware/coupon/member) - 模块名:
gulimall-coupon
添加
pom文件<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.atguigu.gulimall</groupId> <artifactId>gulimall</artifactId> <version>0.0.1-SNAPSHOT</version> <name>gulimall</name> <description>聚合服务</description> <packaging>pom</packaging> <modules> <module>gulimall-coupon</module> <module>gulimall-member</module> <module>gulimall-order</module> <module>gulimall-product</module> <module>gulimall-ware</module> </modules> </project>设置忽略提交内容
.gitgnore**/mvnw **/mvnw.cmd **/.mvn **/target/ .idea **/.gitignore提交并推送到仓库
数据库设计 PowerDesigner
人人开源快速开发
后端管理 renren-fast
克隆项目
git clone git@gitee.com:renrenio/renren-fast.git将
renren-fast放在gulimall项目pom中module<module>renren-fast</module>新增数据库
gulimall_admin修改
pom关联
gulimall<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.7.RELEASE</version> <relativePath/> </parent>解决
@NotBlank和@Email报错<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency>
修改数据库配置,连接到
gulimall_admin的配置信息
前端管理 renren-fast-vue
克隆项目
git clone git@gitee.com:renrenio/renren-fast-vue.git将项目拖到
VSCode中统一配置
nodeJs,node 版本 14 可以解决所有的报错
关注 node.js 的 npm 功能
NPM 是NodeJS的包管理工具,JS-NPM,Java-Maven
官网下载安装,
node -v检查版本配置npm 淘宝镜像
npm config set registry http://registry.npm.taobao.org/下载依赖包
npm install报错处理
npm install --save -g core-js@^3node-sass报错 是由于版本的问题,在package.json中可以解决
Vue
代码生成 renren-generator
克隆项目
git clone git@gitee.com:renrenio/renren-generator.git将项目拖到
idea中修改配置(以
product模块为例子)修改
generator.properties#代码生成器,配置信息 mainPath=com.atguigu #包名 package=com.atguigu.gulimall moduleName=product #作者 author=Mr.Ling #Email email=lingzhexi@163.com #表前缀(类名不会包含表前缀) tablePrefix=pms_修改
Controller.java.vm模板注释 @RequeiresPermissions 注解 //@RequiresPermissions("${moduleName}:${pathName}:list")修改数据库配置(
pms)spring: datasource: type: com.alibaba.druid.pool.DruidDataSource #MySQL配置 driverClassName: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:13306/gulimall_pms?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai username: root password: root
- 启动项目,生成代码
新增 gulimall-common
通用的依赖模块 ,product 模块引用该模块
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.3.1</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.22</version> </dependency> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>4.4.14</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> <version>2.3.7.RELEASE</version> </dependency>
整合Mybatis-pus
导入依赖
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.3.1</version> </dependency>配置
配置数据源
导入
MySql驱动推荐使用
8版本的Mysql connector<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.28</version> </dependency>整合
application.ymlserver: port: 8080 spring: application: name: gulimall-product datasource: username: root password: root url: jdbc:mysql://localhost:13306/gulimall_pms driver-class-name: com.mysql.cj.jdbc.Driver
配置
mybaits-plus
各模块最终需要依赖到 gulimall-common











