项目名称:cloud-consumerconsul-order80
鼠标点击父工程项目右击 —> New —> Module
具体创建步骤参考【搭建EurekaServer端服务注册中心】
1.添加pom.xml
<dependencies><!--SpringCloud consul-server --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-discovery</artifactId></dependency><!-- 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><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>
2.添加application.yml配置文件
###consul服务端口号,consul会发送健康检查请求到80端口
server:
port: 80
spring:
application:
name: cloud-consumer-order
cloud:
consul:
####consul注册中心地址
host: 192.168.28.132
port: 8500
discovery:
service-name: ${spring.application.name}
#consul发送健康检查的地址,配置当前项目所在服务器的IP地址
hostname: 192.168.0.108
#健康检查的url,默认会根据hostname配置的IP + server.port/actuator/health
#health-check-url: http://192.168.0.108:8006/actuator/health
3.添加主启动类
@SpringBootApplication
@EnableDiscoveryClient
public class ConsumerOrderConsulApplication {
public static void main(String[] args) {
SpringApplication.run(ConsumerOrderConsulApplication.class, args);
}
}
4.添加RestTemplate的JavaBean配置
@Configuration
public class ApplicationContextConfig {
@Bean
@LoadBalanced
public RestTemplate getRestTemplate() {
return new RestTemplate();
}
}
5.添加OrderConsulController
@Slf4j
@RestController
public class OrderConsulController {
public static final String INVOKE_URL = "http://consul-provider-payment";
@Resource
private RestTemplate restTemplate;
@GetMapping(value = "/consumer/payment/consul")
public String paymentInfo() {
String result = restTemplate.getForObject(INVOKE_URL + "/payment/consul", String.class);
return result;
}
}
6.启动cloud-providerconsul-payment8006
浏览器输入:http://192.168.28.132:8500/
可以看到服务已经成功注册了
浏览器输入:http://localhost/consumer/payment/consul
返回如下结果,表示服务之间的调用已经成功了
springcloud with consul: 8006 097c505b-26e8-450f-8902-31b2517a7b9a
