springcloud简单入门

springcloud简单入门

以商品下单为例

1.首先数据库有两个表shop_product 和 shop_order

在这里插入图片描述
在这里插入图片描述

2.创建一个maven父工程

在这里插入图片描述
配置pom.xml文件

    <!--打包方式-->
    <packaging>pom</packaging>
    <!--继承springboot的父工程-->
    <parent>
        <artifactId>spring-boot-starter-parent</artifactId>
        <groupId>org.springframework.boot</groupId>
        <version>2.3.2.RELEASE</version>
    </parent>
    <!--定义版本号-->
    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF- 8</project.reporting.outputEncoding>
        <spring-cloud.version>Hoxton.SR8</spring-cloud.version>
        <spring-cloud-alibaba.version>2.2.5.RELEASE</spring-cloud-alibaba.version>
    </properties>
    <!--dependencyManagement:它只负责jar的管理  不负责jar的下载,如果想下载需要再子工程中引入依赖来下载。-->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring-cloud-alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

这样一个简单的父工程就创建好了,然后创建微服务。
在写项目时候,有些实体和依赖,许多模块都会用到,我们可以把这些放在common基础模块里

3.首先创建一个common基础模块

在这里插入图片描述
pom文件中引入可能用的到的公共依赖

<dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.20</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.3</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.25</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.3</version>
        </dependency>
    </dependencies>

以及公用的实体
商品实体类Product

@Data
@TableName(value="shop_product")//手动对应数据库表名
public class Product {
    @TableId(type= IdType.AUTO)//声明主键 以及类型 自动递增
    private Integer pid;
    private String pname;//商品名称
    private Double pprice;//商品价格
    private Integer stock;//库存
}

订单实体类Order

@Data
@TableName("shop_order")//手动对应数据库表名
public class Order {
    @TableId(type = IdType.AUTO)//声明主键 以及类型 自动递增
    private Long oid; //订单id
    private Integer uid;//用户id
    private String username;//用户名
    private Integer pid;//商品id
    private String pname;//商品名称
    private Double pprice;//商品价格
    private Integer number;//购买数量
}

基础模块就创建好了

3.创建商品模块和订单模块

使模块独立,雪崩效应影响小。
在这里插入图片描述
两者建立一致
pom文件都引入基础模块才能使用公共实体和依赖

<dependencies>
        <dependency>
            <groupId>org.example</groupId>
            <artifactId>shop-common</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

因为订单需要用到商品信息,先完成商品的模块搭建
正常写一个查询商品的功能模块
在这里插入图片描述
订单也一样的配置,打印日志路径记得改成订单的包路径
然后书写主启动类
在这里插入图片描述
单独启动商品模块服务,浏览器测试是否能查询到值
在这里插入图片描述
在搭建订单模块的时候会调用商品模块的查询功能,需要用到RestTemplate类中的getForObject方法

所以首先要将RestTemplate交给spring管理
在这里插入图片描述
然后控制层调用product模块的查询功能,来获取商品的名称和价格,查询的结果会存放在Product实体中。
在这里插入图片描述
在商品模块启动的基础上,再启动订单模块,浏览器简单测试
在这里插入图片描述
数据库数据
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值