谷粒商城(一)| 环境搭建
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/mysql
mysql配置 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 安装插件
lombok
MybatisX
Vscode 安装配置
Auto Close Tag
Auto Rename Tag
Chinese (Simplified)
ESLint
HTML CSS Support
HTML Snippets
JavaScript(ES6)
Live Server
open in browser
Vetur
安装配置 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 bash
ssh-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@^3
node-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.yml
server: 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