springboot集成springcloud

本文详细介绍SpringBoot集成SpringCloud的步骤,包括搭建Eureka注册中心、服务提供者与消费者,实现服务注册与调用。通过具体代码示例,演示如何在SpringBoot应用中集成SpringCloud组件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本例场景:
  springboot集成springcloud
  本例demo源码: https://github.com/zhangbeizhen/springboot-springcloud
1.本例分为3部分:
  1>.服务提供方provider
  2>.服务消费方consumer
  3>.注册中心Eureka
2.注册中心Eureka
  1>.在pom.xml引入依赖

<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

  2>.在application.yml配置Eureka信息

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>.在启动类加注解@EnableEurekaServer,使能Eureka服务器

@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {
  public static void main(String[] args) {
  	SpringApplication.run(EurekaServerApplication.class, args);
  }
}

 4>.在浏览器访问Eureka
  http://127.0.0.1:8761
3.服务提供方provider
  1>.在pom.xml引入依赖

<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

  2>.在application.yml配置注册信息

server:
  port: 8081
spring:
  application:
    name: provider
#配置eureka信息
eureka:
  instance:
    prefer-ip-address: true  # 注册服务的时候使用服务的ip地址
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/

  3>.EmployeeService类

@Service
public class EmployeeService {
  public String getEmpInfo() {
   String info = "这是一个非常棒的同事.";
   return info;
  }
}

  4>.EmployeeController类

@RestController
public class EmployeeController {
  @Autowired
  private EmployeeService employeeService;
  @GetMapping("/emp")
  public String getEmpInfo(){
    return employeeService.getEmpInfo();
  }
}	

4.服务消费方consumer
  1>.在pom.xml引入依赖

<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>

  2>.在application.yml配置注册信息

spring:
  application:
    name: consumer
server:
  port: 8091
#配置eureka信息
eureka:
  instance:
    prefer-ip-address: true  # 注册服务的时候使用服务的ip地址
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/

  3>.RestConfig配置类

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

  4>.ManageController类

@RestController
public class ManageController {
  @Autowired
  RestTemplate restTemplate;
  @GetMapping("/query")
  public String getEmpInfo(){
    String info = restTemplate.getForObject("http://PROVIDER/emp", String.class);
    return "消费者服务获取的信息: "+info;
  }
}

  5>.在启动类加@EnableDiscoveryClient注解,开启发现服务功能

@EnableDiscoveryClient //开启发现服务功能
@SpringBootApplication
public class ConsumerApplication {
  public static void main(String[] args) {
    SpringApplication.run(ConsumerApplication.class, args);
  }
}

 6>.测试,Postman截图
5.三个服务都启动后,在浏览器访问Eureka
  http://127.0.0.1:8761
  截图:
以上,TKS.  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值