SpringBood整合SpringCloud的一个小Demo

导读:本篇文章讲解 SpringBood整合SpringCloud的一个小Demo,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

  1. 温馨提示:需要创建三个文件相信大家应该都会,毕竟都学到这来了,但是有几个地方需要注意一下:1.在创建springcloud-eureka时,导入依赖时需要注意选择Eureka Sercer 创建注册服务中心 2.其它两个都选择Eureka Discovery Client ,springcolud-provider 创建生产者 springcolud-consumer 创建消费者。

SpringBood整合SpringCloud的一个小Demo

  1. 项目结构

SpringBood整合SpringCloud的一个小Demo

2.springcloud-eureka项目结构

SpringBood整合SpringCloud的一个小Demo

 2.1  springcloud-eureka项目代码:

SpringcloudEurekaApplication.java:

@EnableEurekaServer  //激活Eureka Server相关配置。
@SpringBootApplication
public class SpringcloudEurekaApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringcloudEurekaApplication.class, args);
    }
    
}

2.2  application.yml:

server:
  port: 8761
eureka:
  instance:
    hostname: eureka-server  # eureka实例的主机名
  client:
    register-with-eureka: false #不把自己注册到eureka上
    fetch-registry: false #不从eureka上来获取服务的注册信息
    service-url:
      defaultZone: http://localhost:8761/eureka/

3.springcloud-provider的项目结构

SpringBood整合SpringCloud的一个小Demo

3.1  springcloud-provider 项目代码

TestController.java:

@RestController
public class TestController {

    @Autowired
    private TestService testService;

    @RequestMapping(value = "/test/get",method = RequestMethod.GET)
    public String TestMethod(){
        return testService.TestMethod();
    }

}

TestService.java:

@Service
public class TestService {

    public String TestMethod(){
        return "你好,SpringCloud";
    }

}

SpringcloudProviderApplication.java:
 

@EnableEurekaClient
@SpringBootApplication
public class SpringcloudProviderApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringcloudProviderApplication.class, args);
    }

}

application.yml:

server:
  port: 8001
spring:
  application:
    name: provider-ticket

eureka:
  instance:
    prefer-ip-address: true # 注册服务的时候使用服务的ip地址
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/

4.springcloud-consumer项目结构:

SpringBood整合SpringCloud的一个小Demo

 

4.1  springcloud-consumer项目代码:

TestController.java:
@RestController
public class TestController {

    @Autowired
    RestTemplate restTemplate;

    @RequestMapping(value = "/test/get",method = RequestMethod.GET)
    public String TestMethod(){
        //此参数为注册在Eureka中的服务
        String ticketName = restTemplate.getForObject("http://PROVIDER-TICKET//test/get", String.class);
        return ticketName;
    }

}
SpringcloudConsumerApplication.java:
@EnableEurekaClient //开启发现服务功能
@SpringBootApplication
public class SpringcloudConsumerApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringcloudConsumerApplication.class, args);
    }

    @LoadBalanced   //使用负载均衡机制
    @Bean
    public RestTemplate restTemplate(){
            return new RestTemplate();
    }

}

application.yml:

server:
  port: 8002
spring:
  application:
    name: consumer-ticket


eureka:
  instance:
    prefer-ip-address: true # 注册服务的时候使用服务的ip地址
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/

最后依次启动项目,在浏览器地址栏输入:http://localhost:8002/test/get,如下图表示成功!

SpringBood整合SpringCloud的一个小Demo

参考博客:SpringBoot整合SpringCloud(一)_m0_66557301的博客-CSDN博客_springcloud整合springboot项目

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/105112.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!