尚硅谷谷粒商城项目4

谷粒商城项目简介 一. 谷粒商城项目简介 尚硅谷谷粒商城项目分成分布式基础篇章,分布式高级篇章以及高可用集群篇章,基于真实企业流水线构建的项目值得大家学习,项目使用后端技术SpringBoot+SpringCloud+Docker和前端Vue和ElementUI前后端分离开发。项目从环境的搭建,编码测试以及最后的集群部署,增强全栈的能力。项目中的集群技术就包括MySql集群,Redis集群等,项目架构图如下所示: 除了一般的逻辑业务需求之外,进行服务远程调用使用的是Feign,网关使用Spring Cloud Gateway 阅读详情

分布式组件 spring cloud alibaba

前置准备确认

1. lunix环境确认

1.1 存在运行容器mysql,redis(redis版本可不同)

使用docker ps命令:
在这里插入图片描述

1.2 mysql中有相应的库和表

在这里插入图片描述

2. jdk,maven,nodejs,npm,renren-fast,renren-fast-vue配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
根据前几部分,配置好renren-fast和renren-fast-vue。

3. 代码

版本参考:

github上spring cloud alibaba 的版本推荐
在这里插入图片描述
在这里插入图片描述

3.1 总的版本仲裁

需要在总的root模块的pom文件进行版本设置,这样分模块引入依赖时可以不进行版本设置,使用父工程的版本设置。
pom.xml:

<?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>
        <module>renren-fast</module>
        <module>renren-generator</module>
        <module>gulimall-common</module>
    </modules>

    <!-- 统一管理jar包版本 -->
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <junit.version>4.12</junit.version>
        <log4j.version>1.2.17</log4j.version>
        <lombok.version>1.16.18</lombok.version>
        <mysql.version>8.0.17</mysql.version>
        <druid.version>1.1.16</druid.version>
        <mybatis.plus.boot.starter.version>3.2.0</mybatis.plus.boot.starter.version>
        <commons.lang.version>2.6</commons.lang.version>
        <httpcore.version>4.4.14</httpcore.version>
    </properties>

    <!-- 子模块继承之后,提供作用:锁定版本+子modlue不用写groupId和version  -->
    <dependencyManagement>
        <dependencies>
            <!--spring boot 2.1.13-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>2.1.13.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!--spring cloud Greenwich.SR6-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Greenwich.SR6</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!--spring cloud alibaba 2.1.4.RELEASE-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.1.4.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>${druid.version}</version>
            </dependency>

            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>${mybatis.plus.boot.starter.version}</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
            </dependency>
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>${log4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok.version}</version>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version>${commons.lang.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpcore</artifactId>
                <version>${httpcore.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <!--模拟更改-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <fork>true</fork>
                    <addResources>true</addResources>
                </configuration>
            </plugin>
        </plugins>
    </build>


</project>
3.2 gulimall-common模块

common模块的作用是提供其他微服务模块公用的依赖包和工具类等
pom.xml:

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>gulimall</artifactId>
        <groupId>com.atguigu.gulimall</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>gulimall-common</artifactId>
    <description>每一个微服务公共的依赖,bean,工具类等</description>




    <dependencies>
        <!-- SpringBoot整合Web组件 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <!--日常通用jar包配置-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore -->
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore</artifactId>
        </dependency>
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
        </dependency>

        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
        </dependency>

    </dependencies>


</project>
3.3 各微服务模块

各微服务模块需要引入commm模块的常用包,其他分布式组件在使用时再引入;配置yaml文件。

3.1 gulimall-coupon

pom.xml:

<?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>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.8.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.atguigu.gulimall</groupId>
    <artifactId>gulimall-coupon</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>gulimall-coupon</name>
    <description>谷粒商城-优惠卷服务</description>



    <dependencies>

        <dependency>
            <groupId>com.atguigu.gulimall</groupId>
            <artifactId>gulimall-common</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>

    </dependencies>

    

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

application.yaml:


# DataSource Config
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://192.168.220.129:3306/gulimall_sms?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: root

mybatis-plus:
  mapper-locations: classpath*:/mapper/**/*.xml
  global-config:
    db-config:
      id-type: auto
server:
  port: 7000

启动类:

package com.atguigu.gulimall.coupon;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;



@MapperScan("com.atguigu.gulimall.coupon.dao")

@SpringBootApplication
public class GulimallCouponApplication {

    public static void main(String[] args) {
        SpringApplication.run(GulimallCouponApplication.class, args);
    }

}

测试类都一样,只展示这个模块的:

package com.atguigu.gulimall.coupon;


import com.atguigu.gulimall.coupon.entity.CouponEntity;
import com.atguigu.gulimall.coupon.service.CouponService;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.junit4.SpringRunner;


@RunWith(SpringRunner.class)
@SpringBootTest
public class GulimallCouponApplicationTests {


    @Autowired
    CouponService couponService;

    @Test
    public void contextLoads() {
        CouponEntity couponEntity = new CouponEntity();
        couponEntity.setCouponType(6);

        couponService.save(couponEntity);
        System.out.println("保存成功");


    }

}

测试

http://localhost:7000/coupon/coupon/list

看到返回的msg为success的json串就算成功:
在这里插入图片描述

3.2 gulimall-member

pom.xml:

<?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>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.8.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.atguigu.gulimall</groupId>
    <artifactId>gulimall-member</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>gulimall-member</name>
    <description>谷粒商城-会员服务</description>



    <dependencies>
        <dependency>
            <groupId>com.atguigu.gulimall</groupId>
            <artifactId>gulimall-common</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>

    </dependencies>



    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

application.yaml:


# DataSource Config
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://192.168.220.129:3306/gulimall_ums?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: root
mybatis-plus:
  mapper-locations: classpath*:/mapper/**/*.xml 
  global-config:
    db-config:
      id-type: auto    
server:
  port: 8000

启动类:

package com.atguigu.gulimall.member;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@MapperScan("com.atguigu.gulimall.member.dao")
@SpringBootApplication
public class GulimallMemberApplication {

    public static void main(String[] args) {
        SpringApplication.run(GulimallMemberApplication.class, args);
    }

}

测试:

http://localhost:8000/member/member/list

在这里插入图片描述

3.3 gulimall-order

pom.xml:

<?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>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.8.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.atguigu.gulimall</groupId>
    <artifactId>gulimall-order</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>gulimall-order</name>
    <description>谷粒商城-订单服务</description>



    <dependencies>
        <dependency>
            <groupId>com.atguigu.gulimall</groupId>
            <artifactId>gulimall-common</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>



    </dependencies>


    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

application.yaml:

# DataSource Config
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://192.168.220.129:3306/gulimall_oms?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: root
mybatis-plus:
  mapper-locations: classpath*:/mapper/**/*.xml #\u4E0D\u914D\u4E5F\u53EF\u4EE5\uFF0C\u8FD9\u662F\u9ED8\u8BA4\u503C
  global-config:
    db-config:
      id-type: auto    #\u81EA\u589Eid
server:
  port: 9000

启动类:

package com.atguigu.gulimall.order;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.atguigu.gulimall.order.dao")
public class GulimallOrderApplication {

    public static void main(String[] args) {
        SpringApplication.run(GulimallOrderApplication.class, args);
    }

}

测试:

http://localhost:9000/order/order/list

在这里插入图片描述

3.4 gulimall-product

pom.xml:

<?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>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.8.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.atguigu.gulimall</groupId>
    <artifactId>gulimall-product</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>gulimall-product</name>
    <description>谷粒商城-商品服务</description>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Greenwich.SR3</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>com.atguigu.gulimall</groupId>
            <artifactId>gulimall-common</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>



    </dependencies>



    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

application.yaml:

# DataSource Config
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://192.168.220.129:3306/gulimall_pms?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: root
mybatis-plus:
  mapper-locations: classpath*:/mapper/**/*.xml #\u4E0D\u914D\u4E5F\u53EF\u4EE5\uFF0C\u8FD9\u662F\u9ED8\u8BA4\u503C
  global-config:
    db-config:
      id-type: auto    #\u81EA\u589Eid
server:
  port: 10000

启动类:

package com.atguigu.gulimall.product;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;


@MapperScan("com.atguigu.gulimall.product.dao")
@SpringBootApplication
public class GulimallProductApplication {

    public static void main(String[] args) {
        SpringApplication.run(GulimallProductApplication.class, args);
    }

}

测试:

http://localhost:10000/product/brand/list

在这里插入图片描述

3.5 gulimall-ware

pom.xml:

<?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>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.8.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.atguigu.gulimall</groupId>
    <artifactId>gulimall-ware</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>gulimall-ware</name>
    <description>谷粒商城-仓储服务</description>


    <dependencies>
        <dependency>
            <groupId>com.atguigu.gulimall</groupId>
            <artifactId>gulimall-common</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>

    </dependencies>



    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

application.yaml:

# DataSource Config
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://192.168.220.129:3306/gulimall_wms?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: root
mybatis-plus:
  mapper-locations: classpath*:/mapper/**/*.xml #不配也可以,这是默认值
  global-config:
    db-config:
      id-type: auto    #自增id
server:
  port: 11000

启动类:

package com.atguigu.gulimall.ware;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;


@MapperScan("com.atguigu.gulimall.ware.dao")
@SpringBootApplication
public class GulimallWareApplication {

    public static void main(String[] args) {
        SpringApplication.run(GulimallWareApplication.class, args);
    }

}

测试:

http://localhost:11000/ware/wareinfo/list

在这里插入图片描述

debug:

当端口(如10000)被占用时,如何查找?
在这里插入图片描述
发现占用者PID是3784
在这里插入图片描述
发现程序,通过任务管理器可关
在这里插入图片描述

最终技术搭配方案

技术:
在这里插入图片描述
版本:
在这里插入图片描述
参考文档:
spring cloud alibaba 2.1版本官方参考文档
github上的官方文档
依赖管理,放到common模块的pom.xml下

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>2.1.0.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

位置:
在这里插入图片描述

nacos服务注册发现

nacos 安装

通过参考文档,可以看到nacos是服务注册发现组件,进一步去看详细文档可参考官网:
nacos官网
在这里插入图片描述
按照要求,需要下载启动本地nacos:
在这里插入图片描述

nacos官网找到安装说明:
nacos安装
nacos github下载地址
在这里插入图片描述
启动bin目录下的startup.cmd,启动nacos server
在这里插入图片描述
看到在8848端口启动了。
访问网址,可打开nacos:

localhost:8848/nacos

在这里插入图片描述
可以看到服务列表是空的,接下来进行服务的注册与发现。

服务注册与发现

1. 依赖

首先依赖spring-cloud-starter-alibaba-nacos-discovery这个jar包,我们放到common里,自动让其他微服务依赖他

<dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2. yaml配置

指定nacos的地址,注册进nacos;指定微服务的名称

spring:
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
  application:
    name: gulimall-coupon
3. 启动类上添加开启服务注册发现功能的注解@EnableDiscoveryClient
package com.atguigu.gulimall.coupon;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;


@MapperScan("com.atguigu.gulimall.coupon.dao")
@EnableDiscoveryClient
@SpringBootApplication
public class GulimallCouponApplication {

    public static void main(String[] args) {
        SpringApplication.run(GulimallCouponApplication.class, args);
    }

}
4. 启动微服务测试

启动之前要保证nacos启动
微服务启动后从nacos平台上看是否注册:
在这里插入图片描述
注册成功。
同理,把其他微服务都注册进来。
最终效果:
在这里插入图片描述

尚硅谷Android项目之_硅谷商城项目全套源码解析(三、首页) 一、简介 承接上文:尚硅谷Android项目之_硅谷商城项目全套源码解析(一、综述) 尚硅谷Android项目之_硅谷商城项目全套源码解析(二、主框架搭建)  上篇博客概括的介绍了硅谷商城项目主框架搭建。本篇内容给大家讲解硅谷商城项目首页模块,该模块用到的技术包括但不仅限于OkHttpUtils、fastjson、。 Banner、CountdownView、ScrollVie 阅读详情

相关推荐

尚硅谷2020微服务分布式电商项目《谷粒商城》-环境搭建、域名、CORS、OSS

1. 谷粒商城介绍 1.1. 项目分类 主要从需求方、盈利模式、技术侧重点这三个方面来看它们的不同 1.1.1. 传统项目 各种企业里面用的管理系统(ERP、HR、OA、CRM、物流管理系统。。。。。。。) 需求方:公司、企业内部 盈利模式:项目本身卖钱 技术侧重点:业务功能 欢迎访问加群:1107019965,学习更多的知识 1.1.2. 互联网项目 门户网站、电商网站:baidu.com、qq.com、taobao.com、jd.com … 需求方:广大用户群体 盈利模式:虚拟币、增

a2522827931的博客 2426

26.订单模块

环境搭建 1.整理前端页面以及静态资源环境 2.配置域名 3.nginx配置 静态资源去 /usr/share/nginx/html里找,动态资源去gulimall,并且由于nginx会丢失host配置Host [root@wuyimin conf.d]# cat gulimall.conf server { listen 80; server_name gulimall.com *.gulimall.com; location /static { .

奈斯查尔斯吴的博客 1077

尚硅谷-谷粒商城-个人学习笔记【环境搭建篇】

部份环境搭建重新写了篇独立文章,传送门在面!省事的小伙伴可以直接按步骤复制粘贴执行确保百分百成功! CentOs安装Docker Docker安装Mysql Docker安装Redis 在本地使用sql工具连接到我们服务器中的mysql后,分别建立以下数据库并且导入数据: gulimall_oms gulimall_pms gulimall_sms gulimall_ums gulimall_wms ...

Luck 880

谷粒商城 - 个人笔记(高级篇四)

电商后台管理系统+电商系统,掌握微服务的全套方案。该系统有商品服务、仓储服务、订单服务、购物车服务、检索服务、认证中心服务、网关服务、用户服务、秒杀服务、第三方服务。使用SpringBoot+SpringCloud并配套SpringCloud Alibaba系列,引入全套微服务治理方案:Nacos注册中心/配置中心、Feign远程调用、Gateway网关、Redisson缓存、基于ElasticSearch7全文检索、异步编排与线程池、RabbitMQ柔性事务方案、Redisson分布式锁、分布式信号量等。

知行 1万+

gmall-0805:尚硅谷谷粒商城

gmall-0805 尚硅谷谷粒商城

尚硅谷Android企业级项目之_硅谷商城

尚硅谷Android企业级项目之_硅谷商城尚硅谷Android企业级项目之_硅谷商城

「尚硅谷」java实战项目谷粒商城简介_idea_通用mapper

一、简介 1、为什么我们要讲电商? 因为就互联网平台来说,电商网站有很多典型的特征: 访问量大 数据量大 涉及的技术多 有一定的业务复杂性 涉及支付 考虑一定安全性 2、我们能从这个项目中学到什么? 巩固以前知识,学会应用: 要新掌握的知识 需要掌握的解决方案 二、 Intellij idea 1、介绍 IDEA 全称 IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE

zjjcchina的博客 771

《谷粒商城》2020基础篇完整代码

《谷粒商城》2020基础篇完整代码,纯手工打造。完美复刻,教程代码。都已调通。 项目采用SpringCloudAlibaba技术栈。由业务集群系统+后台管理系统构成,打通了微服务分布式开发及全栈开发技能,包含前后分离全栈开发、Restful接口、数据校验、网关、注册发现、配置中心、熔断、限流、降级、链路 追踪、性能监控、压力测试、系统预警、集群部署、持续集成、持续部署... 包括前台商城系统以及后台管理系统,基于 SpringCloud + SpringCloudAlibaba + MyBatis-Plus等技术实现。

【面试】【项目】谷粒商城

谷粒商城项目

m0_46179147的博客 1万+

意图识别和纠错问题

可想而知,错误的意图识别会带来多大的负面影响。基于词典,就是对用户query内容和词典内容进行比对,比较常见的方式是序列标注问题里用的最大逆向匹配,通过这种方式找到词典里的实体词,匹配触发了自然就有意图了,而在词典匹配的时候,不是使用链表之类的来构造匹配结构,而是使用搜索树的结构,这种匹配的复杂度最低,速度也快,两者结合,其速度甚至比很多模型要快得多(基本上1ms以内就能完成),fasttext速度非常快,但是textcnn之类的其实就已经达到ms级别以上,bert甚至在10ms级别。

TURING.DT 4573

海康工业相机LabVIEW二次开发实战——参数配置优化与图像高效存储

本文详细介绍了海康工业相机在LabVIEW平台上的二次开发实战,重点解析了相机参数配置的优化方法与图像高效存储策略。通过剖析曝光、增益、触发模式等核心参数的设置逻辑,并结合生产者-消费者设计模式,指导开发者构建稳定、高效的图像采集与异步存储流程,有效提升工业视觉项目的开发效率与系统稳定性。

weixin_29306317的博客 221

Day01 项目简介&分布式基础概念

市面上有5种常见的电商模式B2BB2CC2BC2CO2O;1B2B模式, 是指商家与商家建立的商业关系。如:阿里巴巴2B2C模式, 就是我们经常看到的供应商直接把商品卖给用户,即商对客模式,也就是通常说的商业零售,直接面向消费者销售产品和服务。如:苏宁易购、京东、天猫、小米商城3C2B模式,即消费者对企业。先有消费者需求产生而后有企业生产,即先有消费者提出需求,后有生产企业按需求组织生产4C2C模式,客户之间自己把东西放上网去卖,如:淘宝,闲鱼5。

6个日的博客 822

头歌操作系统 课堂练习4.2:页式内存管理 答案 无解析

头歌操作系统 课堂练习4.2:页式内存管理 答案 无解析

kercii的博客 1万+

Error creating bean with name ‘defaultValidator‘ defined in class path resource [org/springframework

尚硅谷谷粒商城项目中的人人开源运行报错

weixin_52121639的博客 2041

激光雷达与相机融合(四)----基于激光雷达与相机的碰撞检测

在这一部分,基于前面的各个部分内容,将利用激光雷达和相机实现目标的检测分类及单目标跟踪,并对车辆前方的车辆目标计算相应的碰撞时间TTC。计算方法分别利用相机和雷达实现。 1.系统的总体架构: 2.TTC计算 简单介绍一下通过激光雷达和相机计算碰撞时间的原理: 利用激光雷达点计算碰撞时间:首先根据检测框聚类出前车目标的点,并过滤掉这些点中的离群点,然后找出这些点中相对于本车最近的点,基于前后两帧以及数据采集频率就可以求解出相对速度,然后用当前帧的距离除以速度得出当前的TTC。但该方法对最近点的选取稳定性不是

张飞飞的博客 3987

【大模型】MHA,MQA,GQA及KV Cache详解

在自回归模型中(Autoregressive Models),模型会逐个生成文本的每个token,这个过程可能比较慢,因为模型一次只能生成一个token,而且每次新的预测都依赖于之前的上下文。这意味着,要预测第1000个token,你需要用到前999个token的信息,这通常涉及到对这些token的表示进行一系列矩阵乘法运算。而要预测第1001个token,你不仅需要前999个token的信息,还要加上第1000个token的信息。

酒酿小圆子呀~ 2615

人人开源的renren-fast项目导入最新的SpringBoot的问题

在学习尚硅谷的谷粒商城的项目中,使用最新版的SpringBoot2.4.2中发现一个问题 导入人人开源的renren-fast项目的时候,一直连接数据库失败,显示都是连接超时或者连接次数等问题。 尝试解决不成功后,打算重新加载maven依赖。 maven-->clean-->发现有警告信息后,将renren-fast项目的pom.xml文件 <parent> <groupId>org.springframework.boot</groupId&gt.

weixin_41941780的博客 1587

泰凌微8258入门教程 环境篇④——开发板+烧录器 8258mesh新手套件购买

工欲善其事,必先利其器。 淘宝链接:https://item.taobao.com/item.htm?

4129

尚硅谷2020微服务分布式电商项目《谷粒商城》学习笔记

尚硅谷2020微服务分布式电商项目《谷粒商城》 项目简介 资料 百度云 链接:https://pan.baidu.com/s/1eGCTi6pLtKbDCwBs-zCOzQ 提取码:1pma 涉及技术 前端技术 Vue 人人开源 / renren-fast-vue renren-fast-vue基于vue、element-ui构建开发,实现renren-fast后台管理前端功能,提供一套更优的前端解决方案。 http://demo.open.renren.io/renren-fas

namehao465的专栏 1万+

YOLOv8 PCB缺陷检测系统全流程实战:从开发到UI展示详解

毕设路上难免有波折,但只要跟着这个教程把“数据集处理、模型训练、UI开发”每一步都落实,你就已经超越了大多数同学。这个“PCB缺陷检测系统”既有技术深度(YOLOv8是工业级主流算法),又有工程价值(解决电子制造的实际痛点),还具备出色的可视化展示——这样的毕设,拿高分是水到渠成的事。

FJN110的博客 214

Loop Engineering 来了:从写 Prompt 到设计 Loop,AI 编程的第四次范式跃迁

文章摘要: Loop Engineering是AI编程领域的新范式,标志着从"人手动喂指令"到"设计自驱动循环"的跃迁。其核心在于通过五个组件(定时器、工作空间、知识体系、连接器和子Agent验证)构建自动化任务流,使AI系统能自主运行。这一概念的火爆源于模型能力和工具链的成熟,使得任务设计成为关键瓶颈。作者指出,从Prompt到Loop的四次范式跃迁(语言学→信息科学→控制论→管理学)反映了人机协作关系的根本变化:人类角色从执行者逐渐退居为目标设定者。落地Loop Engineering的真正挑战在于目标

少说,多做 330

尚硅谷谷粒商城项目介绍

笔记来源于尚硅谷的谷粒商城项目https://www.bilibili.com/video/BV1np4y1C7Yf?p=1 1、项目背景 1.1、电商模式 市面上有5种常见的电商模式B2B、B2C、C2B、C2C、O2O 1.1.1、B2B模式 B2B(Business to Business),是指商家与商家建立的商业关系。如:阿里巴巴 1.1.2、B2C模式 B2C(Business to Consumer),就是我们经常看到的供应商直接把商品卖给用户,即“商家对客户”模式,也就是通常说的商业零售

m0_51383338的博客 4848

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

尚硅谷2020微服务分布式电商项目《谷粒商城》

尚硅谷2020微服务分布式电商项目《谷粒商城》 Docker 安装Docker Docker安装文档:https://docs.docker.com/engine/install/centos/ 卸载旧版本 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \

a2522827931的博客 8501

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

尚硅谷谷粒商城项目1

尚硅谷谷粒商城项目 整体的技术架构 Lunix虚拟机中centos7下安装docker 关防火墙 systemctl stop firewalld.service systemctl disable firewalld.service 固定ip shell命令查看当前网卡 [root@glsc01 network-scripts]# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN grou

anotherQu的博客 819

尚硅谷——谷粒商城项目开发记录——2021.11.15

尚硅谷——谷粒商城项目开发记录——2021.11.15 概念: 1.配置git 下载git: https://git-scm.com 配置用户名和邮箱(git或者github都可以): # 配置用户名 git config --global user.name "username" //(名字) # 配置邮箱 git config --global user.email "username@email.com" //(注册账号时用的邮箱) 配置

yipianguying的博客 1507

尚硅谷-谷粒商城项目问题统计(覆盖课程中遇到的大多数问题)

尚硅谷-谷粒商城项目问题统计(覆盖课程中遇到的大多数问题)

FebruaryQ的博客 784
上一篇: 尚硅谷谷粒商城项目3
下一篇: 英语四六级保命班笔记
anotherQu
博客等级 码龄6年 21粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值