二、搭建springCloud-alibaba基本框架(生产者/消费者)

开发环境

idea2021.2
jdk 11
springcloud Hoxton.SR9
springboot 2.3.2.RELEASE

nacos注册中心部署可参考上一篇文章

传送门跳转

一、开始搭建环境cloudAlibaba

搭建父工程/公共模块

1.使用idea创建一个maven父工程(用来管理版本依赖,统一版本信息)
pom.xml配置信息

    <properties>
        <spring.cloud.alibaba.version>2.2.6.RELEASE</spring.cloud.alibaba.version>
        <spring.boot.version>2.3.2.RELEASE</spring.boot.version>
        <spring.cloud.version>Hoxton.SR9</spring.cloud.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <!--Spring Cloud Alibaba 版本管理器-->
            <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>
            <!--Spring Boot 版本管理器-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring.boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!--Spring Cloud 版本管理器-->
            <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>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-openfeign-dependencies</artifactId>
                <version>2.2.6.RELEASE</version>
                <type>pom</type>
                <scope>pom</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

如果需要还可以创建一个公共功能模块,在公共模块中引入都需要使用的依赖包,创建一个公共的工具类等方法。
如lombok、mysql连接包、fastjson、常用的通用工具类(子模块只需引入公共模块即可)

nacos集成生产者

一、在父模块下创建maven生产者子工程。
1.maven依赖管理将父工程设为我们开始创建的父工程,根据个人创建的父工程坐标而定

    <parent>
        <artifactId>alibabaCloud</artifactId>
        <groupId>com.xjt</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>

二、在生产者子工程引入nacos、springboot相关依赖.

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>com.xjt</groupId>
            <artifactId>common</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

其中common包为笔者创建的一个公共模块

  • 手现将项目构建为基本的springboot工程。
  • 添加nacos配置
    配置信息如下
server:
  port: 8082
spring:
  application:
    name: provider
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8845

分别对应的是端口号、注册到nacos中心的服务名(必须保证唯一(服务调用会用到))、nacos服务注册中心地址

  • 配置完成后在主启动类上增加注解@EnableDiscoveryClient用来启用服务注册于发现
    在这里插入图片描述

既然是服务提供者就需要提供一些接口或者服务给消费者使用。
我们可以创建一个测试接口,并启用工程,在nacos服务管理平台中就可以看到我们刚刚注册进来的服务。
在这里插入图片描述

到此。服务生产者构建完成!

nacos集成服务消费者

可以直接复制服务生产者工程

额外添加一个依赖(用于restful风格调用生产者接口)

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
  1. 修改配置文件,服务应用名称。
  2. 创建一个配置类,在配置类中注入RestTemplate/或直接在主启动类使用@bean注解注入,并使用注解@LoadBalanced,并且在主启动类增加注解@EnableFeignClients启用feign

在这里插入图片描述

  • 创建一个接口,并在接口类增加注解@FeignClient
  • 此方法是使用feign的方法调用生产者服务在这里插入图片描述
    使用restTemplate方式
  • 创建一个类添加@Component注入到spring容器
  • 注入RestTemplate在这里插入图片描述

地址也可以修改为对应的IP地址端口号加接口路径。

调用的方法已经有了,我们再创建一个对外提供的接口用于测试,两个接口对应的两个调用方法的测试
在这里插入图片描述

消费者集成完成!

生产者与消费者测试

  1. 分别启动服务生产者与服务消费者。
  2. 我们访问消费者提供的两个接口看看能不能调用到生产者提供的方法。
    在这里插入图片描述
    在这里插入图片描述

成功调用!
基本的微服务工程搭建完成!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

languageStudents

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值