畅购商城(第一天)带你跳过所有坑

环境搭建

资料:云盘连接 提取码:sb1m

拿到资料后,把里面虚拟机进行解压,然后用VMware虚拟机软件打开Centos-changgou.vmx,
然后打开,用户名:root,密码:123456。
里面后期用到的环境都已经安装好了,不需要我们浪费时间搭建环境。
接下来需要打开VMware-编辑-虚拟网络配置 打开NAT设置

畅购商城(第一天)带你跳过所有坑_第1张图片
然后点击NAT设置,修改IP
畅购商城(第一天)带你跳过所有坑_第2张图片
接下来在CentOS终端中输入 vi /etc/sysconfig/network-scripts/ifcfg-ens33
畅购商城(第一天)带你跳过所有坑_第3张图片
reboot重启虚拟机,然后就可以通过ssh工具对其进行连接,ip是192.168.1.99密码123456
然后进入mysql容器

docker exec -it mysql /bin/bash

重置mysql密码
首先打开配置文件的命令

vi /etc/mysql/my.cnf

在最后添加

[mysqld]
skip-grant-tables

重启msyql

docker restart mysql

再次登录

mysql -uroot -p

设置root密码为空

use mysql;

select user,authentication_string,host from user;

更新为空

update user set authentication_string='' where user='root';

flush privileges;

退出mysql,再次执行vi /etc/mysql/my.cnf,把之前添加的内容删掉,保存。

使用root登录

mysql -u root

修改密码为root

alter user 'root'@'localhost' IDENTIFIED BY 'root';

alter user 'root'@'%' IDENTIFIED BY 'root';

flush privileges;

这时你的mysql登录密码就可以使用root登录了。

navicat连接数据库

畅购商城(第一天)带你跳过所有坑_第4张图片
连接成功之后就可以看到若干数据表,查看er图我们可以发现,表与表之间并没有关联关系。
畅购商城(第一天)带你跳过所有坑_第5张图片
在我们平时做项目时,标语表之间都要遵循三范式,但是我们做大型项目的时候,不推荐三范式而推荐反三范式,建议不要创建外键,原因就是导致增删改的速度会变慢。

工程搭建

父工程搭建

先在一个目录下创建一个空的文件夹,我这里命名为changgou
然后通过idea打开这个目录,在里面创建一个模块,选择mevan
畅购商城(第一天)带你跳过所有坑_第6张图片
然后finish,在pom文件中添加以下内容

<parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>2.1.1.RELEASEversion>
        <relativePath/> 
 parent>

<properties>
	<skipTests>trueskipTests>
properties>


<dependencies>
	
	<dependency>
		<groupId>org.springframework.bootgroupId>
		<artifactId>spring-boot-starter-testartifactId>
		<scope>testscope>
	dependency>
dependencies>

<dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>org.springframework.cloudgroupId>
			<artifactId>spring-cloud-dependenciesartifactId>
			<version>Greenwich.SR1version>
			<type>pomtype>
			<scope>importscope>
		dependency>
	dependencies>
dependencyManagement>

二级夫工程搭建

创建changgou_gateway、changgou_service、changgou_service_api、
changgou_web工程,工程全部为pom工程,并将所有工程的src文件删除。

这里只有这几个都要打pom包,其余一律打jar包。
1.创建changgou_gateway
pom.xml如图
畅购商城(第一天)带你跳过所有坑_第7张图片
2.创建changgou_service
pom.xml如图
畅购商城(第一天)带你跳过所有坑_第8张图片
3.创建changgou_service_api
畅购商城(第一天)带你跳过所有坑_第9张图片
4.创建changgou_web
畅购商城(第一天)带你跳过所有坑_第10张图片
项目整体结构如图
畅购商城(第一天)带你跳过所有坑_第11张图片
到此我们微服务的结构就已经搭建完成

注册中心搭建

Eureka微服务搭建

1.创建模块changgou_eureka
导入pom.xml相关依赖

<dependencies>
        <dependency>
            <groupId>org.springframework.cloudgroupId>
            <artifactId>spring-cloud-starter-netflix-eureka-serverartifactId>
        dependency>
dependencies>

这个eureka在装的时候也会莫名奇妙的出现包导不进去的情况,很恶心的。
在这里不行的话就加一个版本2.1.1.RELEASE

然后在resources目录下创建application.yml

server:
  port: 6868
eureka:
  client:
    register‐with‐eureka: false #是否将自己注册到eureka中
    fetch‐registry: false #是否从eureka中获取信息
    service‐url:
      defaultZone: http://127.0.0.1:${server.port}/eureka/
spring:
  application:
    name: eureka

2.创建启动类
畅购商城(第一天)带你跳过所有坑_第12张图片
然后运行
看控制台告诉我们端口
畅购商城(第一天)带你跳过所有坑_第13张图片
然后打开浏览器访问这个端口:输入localhost:6868,页面大致就这个样子
畅购商城(第一天)带你跳过所有坑_第14张图片
这里也告诉我们没有任何服务注册
到此为止,我们的注册中心已经搭建了。

搭建公共模块

pom.xml依赖
创建公共模块chaunggou-common,pom.xml引入依赖。将’资源/common_entity’下
的相关资源导入工程

<dependencies>
        
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>
        
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-data-redisartifactId>
        dependency>
        <dependency>
            <groupId>com.alibabagroupId>
            <artifactId>fastjsonartifactId>
            <version>1.2.51version>
        dependency>
        <dependency>
            <groupId>org.springframework.cloudgroupId>
            <artifactId>spring-cloud-starter-netflix-eureka-clientartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.cloudgroupId>
            <artifactId>spring-cloud-starter-openfeignartifactId>
        dependency>
        
        <dependency>
            <groupId>com.github.wxpaygroupId>
            <artifactId>wxpay-sdkartifactId>
            <version>0.0.3version>
        dependency>
        
        <dependency>
            <groupId>org.apache.httpcomponentsgroupId>
            <artifactId>httpclientartifactId>
        dependency>
    dependencies>

这里还是那句话,如果springcloud启动依赖没有导进去,就添加2.1.1.RELEASE

创建com.changgou.entity包 ,包下封装相关公共实体类。

package com.changgou.entity;
/**
 * 返回结果实体类
 */
public class Result<T> {
    private boolean flag;//是否成功
    private Integer code;//返回码
    private String message;//返回消息
    private T data;//返回数据
    public Result(boolean flag, Integer code, String message, Object
            data) {
        this.flag = flag;
        this.code = code;
        this.message = message;
        this.data = (T)data;
    }
    public Result(boolean flag, Integer code, String message) {
        this.flag = flag;
        this.code = code;
        this.message = message;
    }
    public Result() {
        this.flag = true;
        this.code = StatusCode.OK;
        this.message = "执行成功";
    }
//getter and setter..
}

package com.changgou.entity;

import java.util.List;

/**
 * 分页结果类
 */
public class PageResult<T> {
    private Long total;//总记录数
    private List<T> rows;//记录
    public PageResult(Long total, List<T> rows) {
        this.total = total;
        this.rows = rows;
    }
    public PageResult() {
    }
//getter and setter ......
}
package com.changgou.entity;

/**
 * 返回码
 */
public class StatusCode {
    public static final int OK=20000;//成功
    public static final int ERROR =20001;//失败
    public static final int LOGINERROR =20002;//用户名或密码错误
    public static final int ACCESSERROR =20003;//权限不足
    public static final int REMOTEERROR =20004;//远程调用失败
    public static final int REPERROR =20005;//重复操作
}

你可能感兴趣的:(笔记)