SpringCloud快速开发入门

本文介绍了如何使用SpringCloud快速搭建服务提供者和消费者,包括配置Eureka服务注册中心、注册服务以及消费者如何通过RestTemplate访问服务。详细步骤涉及创建SpringBoot工程、添加依赖、配置Eureka及服务实例,适合SpringCloud初学者。

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

一、SpringCloud快速开发入门

1.搭建和配置一个服务提供者

1、 创建一个SpringBoot工程(SpringBoot的Web工程),并且添加SpringBoot的相关依赖;
2、 创建服务提供者的访问方法,也就是后续消费者如何访问提供者;
Spring Cloud是基于rest的访问,所以我们添加一个Controller,在该Controller中提供一个访问入口:

@RestController 
public class HelloController { 
@RequestMapping(value = "/helloworld", method = RequestMethod.GET) 
	public String helloworld() { 
		return "Hello world"; 
	} 
}

3、 启动运行该SpringBoot程序,访问该controller;

2. 搭建和配置一个服务消费者

服务消费者也是一个SpringBoot项目,服务消费者主要用来消费服务提供者提供的服务;
1、 创建一个SpringBoot工程(SpringBoot的Web工程),并且添加SpringBoot的相关依赖;
2、 定义自定义类RestTemplateConfig类

/** 
* 标记当前类是一个Spring配置类,用于模拟Spring的配置文件 
*/ 
@Configuration 
public class RestTemplateConfig { 
	 //@Bean标记当前方法是一个Spring配置方法,用于模拟Spring配置文件中的Bean标签
 	 //其中方法的返回值相当于Bean标签的class 
 	 //其中方法的名字相当于Bean标签的id 
	@Bean 
	public RestTemplate restTemplate(){
  		return new RestTemplate(); 
  	}
}

3、开发一个消费者方法,去消费服务提供者提供的服务,这个消费者方法也是一个Controller:

/**
* SpringCloud的消费者端,消费就是一个普通的SpringBoot的web工程 
* * 这里需要使用Http协议访问服务提供者 
* */ 
@RestController 
public class TestController { 
	@Autowired 
	private RestTemplate restTemplate; 
	@RequestMapping("/test") 
	public Object test(){ 
	//访问远程的SpringCloud的服务 
	//参数1 为服务器的地址以及服务器的请求名 
	//参数2 用于指定返回的数据类型是字符格式 
	//.getBody()方法的作用是获取响应的主体内容(服务端返回的具体JSON数据) 
	return restTemplate.getForEntity("http://localhost:8081/helloworld",String.class).getBody()+ " -----SpringCloud的消费者";
	 } 
 }

4、启动该SpringBoot程序,测试服务消费者调用服务提供者;

3.搭建与配置Eureka服务注册中心

1、 创建一个SpringBoot项目02-springcloud-eureka-server,并且添加SpringBoot的相关依赖;
2、 添加eureka的依赖:

<properties> 
	<java.version>1.8</java.version> 
	<!-- 配置SpringCloud版本为 Hoxton.SR11 对应当前的SpringBoot2.3.10 --> 
	<spring-cloud.version>Hoxton.SR11</spring-cloud.version>
</properties> 
<!--Spring Cloud的eureka-server起步依赖--> 
 <dependency>
  	<groupId>org.springframework.cloud</groupId>
  	<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency

3、 添加Maven的依赖管理器

<dependencyManagement> 
	<dependencies> 
		<dependency> 
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-dependencies</artifactId> 
			 <version>${spring-cloud.version}</version>
			  <type>pom</type>
 			 <scope>import</scope> 
		  </dependency> 
	  </dependencies> 
  </dependencyManagement>

4、在application.properties文件中配置Eureka服务注册中心信息

#内嵌定时tomcat的端口 
server.port=9100 
#设置该服务注册中心的hostname 
eureka.instance.hostname=localhost 
#由于我们目前创建的应用是一个服务注册中心,而不是普通的应用,默认情况下,这个应用会向注册中心 (也是它自己)注册它自己,设置为false表示禁止这种自己向自己注册的默认行为 
eureka.client.register-with-eureka=false 
#表示不去检索其他的服务,因为服务注册中心本身的职责就是维护服务实例,它不需要去检索其他服务 
eureka.client.fetch-registry=false 
#指定服务注册中心的位置 
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka

5、 在Spring Boot的入口类上添加一个@EnableEurekaServer注解,用于开启Eureka注册中心服务

4、启动与测试Eureka服务注册中心

1、完成上面的项目搭建后,我们就可以启动SpringBoot程序,main方法运行;
2、启动成功之后,通过在浏览器地址栏访问我们的注册中心;浏览器输入
http://localhost:9100 或 http://127.0.0.1:9100 测试Eureka是否启动

5.向Eureka服务注册中心注册服务

1、在该服务提供者中添加eureka的依赖,因为服务提供者向注册中心注册服务,需要连接eureka,所
以需要eureka客户端的支持;

<!--SpringCloud集成eureka客户端的起步依赖-->
 <dependency> 
 	<groupId>org.springframework.cloud</groupId> 
	 <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> 
 </dependency>

2、添加Maven的依赖管理器

<dependencyManagement> 
	<dependencies> 
		<dependency> 
			<groupId>org.springframework.cloud</groupId> 
			<artifactId>spring-cloud-dependencies</artifactId> 
			<version>${spring-cloud.version}</version> 
			<type>pom</type> <scope>import</scope> 
	</dependency> </dependencies> 
</dependencyManagement>

3、 修改服务提供者的application.properties文件,配置服务名称和注册中心地址

#指定服务名字 这个名称将在服务消费者时被调用,取值任意,建议使用服务名 
spring.application.name= tigongzhe 
#指定eureka的访问地址 
eureka.client.service-url.defaultZone=http://localhost:9100/eureka 
#指定Tomcat的端口号需要避免和其他的Tomcat端口冲突 
server.port=8081

4、激活Eureka中的EnableEurekaClient功能:
在Spring Boot的入口函数处,通过添加@EnableEurekaClient注解来表明自己是一个eureka客户端,让我的服务消费者可以使用eureka注册中心
5、编写控制器提供服务

//自定义控制器类对外提供服务 
@RestController 
public class TestController { 
	@RequestMapping("/test") 
	public Object test() { 
		return "使用了eureka注册中心的服务提供者";
 	} 
 }

6、启动服务提供者SpringBoot程序的main方法运行;
7、启动运行之后,通过在浏览器地址栏访问我们之前搭建好的eureka注册中心,就可以看到有一个服
务已经注册成功了;

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

真不错鸭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值