一、开始搭建环境cloudAlibaba 搭建父工程/公共模块idea2021.2
jdk 11
springcloud Hoxton.SR9
springboot 2.3.2.RELEASE
1.使用idea创建一个maven父工程(用来管理版本依赖,统一版本信息)
pom.xml配置信息
2.2.6.RELEASE 2.3.2.RELEASE Hoxton.SR9 com.alibaba.cloud spring-cloud-alibaba-dependencies ${spring.cloud.alibaba.version} pom import org.springframework.boot spring-boot-dependencies ${spring.boot.version} pom import org.springframework.cloud spring-cloud-dependencies ${spring.cloud.version} pom import org.springframework.cloud spring-cloud-openfeign-dependencies 2.2.6.RELEASE pom pom
nacos集成生产者如果需要还可以创建一个公共功能模块,在公共模块中引入都需要使用的依赖包,创建一个公共的工具类等方法。
如lombok、mysql连接包、fastjson、常用的通用工具类(子模块只需引入公共模块即可)
一、在父模块下创建maven生产者子工程。
1.maven依赖管理将父工程设为我们开始创建的父工程,根据个人创建的父工程坐标而定
alibabaCloud com.xjt 1.0-SNAPSHOT
二、在生产者子工程引入nacos、springboot相关依赖.
org.springframework.boot spring-boot-starter-weborg.springframework.cloud spring-cloud-alibaba-nacos-discoverycom.xjt common1.0-SNAPSHOT
其中common包为笔者创建的一个公共模块
- 手现将项目构建为基本的springboot工程。
- 添加nacos配置
配置信息如下
server:
port: 8082
spring:
application:
name: provider
cloud:
nacos:
discovery:
server-addr: localhost:8845
分别对应的是端口号、注册到nacos中心的服务名(必须保证唯一(服务调用会用到))、nacos服务注册中心地址
- 配置完成后在主启动类上增加注解@EnableDiscoveryClient用来启用服务注册于发现
既然是服务提供者就需要提供一些接口或者服务给消费者使用。
我们可以创建一个测试接口,并启用工程,在nacos服务管理平台中就可以看到我们刚刚注册进来的服务。
到此。服务生产者构建完成!
nacos集成服务消费者可以直接复制服务生产者工程
额外添加一个依赖(用于restful风格调用生产者接口)
org.springframework.cloud spring-cloud-starter-openfeign
- 修改配置文件,服务应用名称。
- 创建一个配置类,在配置类中注入RestTemplate/或直接在主启动类使用@bean注解注入,并且在主启动类增加注解@EnableFeignClients启用feign
- 创建一个接口,并在接口类增加注解@FeignClient
- 此方法是使用feign的方法调用生产者服务
使用restTemplate方式 - 创建一个类添加Component注入到spring容器
- 注入RestTemplate
地址也可以修改为对应的IP地址端口号加接口路径。
调用的方法已经有了,我们再创建一个对外提供的接口用于测试,两个接口对应的两个调用方法的测试
消费者集成完成!
生产者与消费者测试- 分别启动服务生产者与服务消费者。
- 我们访问消费者提供的两个接口看看能不能调用到生产者提供的方法。
成功调用!
基本的微服务工程搭建完成!



