潍坊网站建设选聚搜网络,云南 网站建设网站,鄂州第一网,电话外呼系统怎么收费文章目录简介开始搭建创建项目修改POM文件添加启动类添加配置项添加Controller添加配置文件启动项目测试访问Nacos访问接口查看端点检查简介
接下来我们创建一个服务消费者#xff0c;本操作先要完成之前的步骤#xff0c;详情请参照【Spring Cloud Alibaba】Spring Cloud A…
文章目录简介开始搭建创建项目修改POM文件添加启动类添加配置项添加Controller添加配置文件启动项目测试访问Nacos访问接口查看端点检查简介
接下来我们创建一个服务消费者本操作先要完成之前的步骤详情请参照【Spring Cloud Alibaba】Spring Cloud Alibaba 搭建教程
开始搭建
我们首先启动之前安装好的nacos安装参照2.服务注册与发现Nacos安装,创建方法与3.创建服务提供者大同小异。
创建项目
在我们之前搭建好的父项目中右击新建-新模块 为我们的子模块取名字、组ID和工件ID 创建后目录结构如下
修改POM文件
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdparentartifactIdspring-cloud-alibaba/artifactIdgroupIdcom.moonce/groupIdversion1.0-SNAPSHOT/version/parentmodelVersion4.0.0/modelVersionartifactIdmoonce-consumer/artifactIdpackagingjar/packagingpropertiesjava.version1.8/java.version/propertiesdependencies!-- Spring Boot Begin --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-actuator/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency!-- Spring Boot End --!-- Spring Cloud Begin --!-- Nacos 注册与发现 --dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId/dependency!-- Nacos 分布式配置中心 --!-- dependency--!-- groupIdcom.alibaba.cloud/groupId--!-- artifactIdspring-cloud-starter-alibaba-nacos-config/artifactId--!-- /dependency--!-- Spring Cloud End--/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdconfigurationmainClasscom.moonce.consumer.ConsumerApplication/mainClass/configuration/plugin/plugins/build/project添加启动类
创建com.moonce.consumer包和ConsumerApplication.java启动类 ConsumerApplication.java
package com.moonce.consumer;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;SpringBootApplication
EnableDiscoveryClient
public class ConsumerApplication {public static void main(String[] args) {SpringApplication.run(ConsumerApplication.class, args);}
}建第二个子模块idea会提示如下选择使用多个服务再一个窗口没有提示的话可以参照这篇文章手动设置 效果如下 我们的多个服务的启动项都被放在一个窗体非常的纳爱斯 添加配置项
新建软件包com.moonce.consumer.config和配置类NacosConsumerConfiguration.java ,目录结构如下
在NacosConsumerConfiguration.java 填入如下内容主要作用是为了注入RestTemplate。
package com.moonce.consumer.config;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;Configuration
public class NacosConsumerConfiguration {Beanpublic RestTemplate restTemplate() {return new RestTemplate();}
}添加Controller
新建软件包com.moonce.consumer.controller和ConsumerController.java类目录结构如下 在ConsumerController.java类填入以下内容
package com.moonce.consumer.controller;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.loadbalancer.LoadBalancerClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;RestController
public class ConsumerController {Autowiredprivate LoadBalancerClient loadBalancerClient;Autowiredprivate RestTemplate restTemplate;Value(${spring.application.name})private String appName;GetMapping(value /test/app/name)public String test() {//使用 LoadBalanceClient 和 RestTemplate 结合的方式来访问ServiceInstance serviceInstance loadBalancerClient.choose(moonce-provider);String url String.format(http://%s:%s/test/%s, serviceInstance.getHost(), serviceInstance.getPort(), appName);return restTemplate.getForObject(url, String.class);}
}添加配置文件
application.yml
spring:application:name: moonce-consumercloud:nacos:discovery:server-addr: 127.0.0.1:8848server:port: 9091management:endpoints:web:exposure:include: *目录结构如下
启动项目测试 服务提供者也要启动否则将访问不到超时
访问Nacos
启动完成后浏览器访问地址http://localhost:8848/nacos我们会看到两个服务都被注册到Nacos中
访问接口
访问地址 http://localhost:9091/test/app/name 你会在浏览器上看到如下内容服务消费者成功访问服务提供者。
查看端点检查
访问地址http://localhost:9091/actuator/nacos-discovery