需求
构建一个Eureka服务器,两个服务。两个服务都注册到Eureka服务器中。服务一提供的服务是:接收一个参数并返回给用户。服务二:调用服务一中的服务。
构建过程
1.创建普通maven项目(springcloud-01-test)
2.选择项目鼠标右键新增模块(springcloud-server)
(角色:Eureka服务器)
填写好GroupId(项目的目录结构),ArtifactId(项目名)
该模块作为Eureka服务器。需要的依赖有Spring Web模块以及Eureka server
Eureka服务器代码
①启动类中添加一个@EnableEurekaServer注解
@SpringBootApplication
@EnableEurekaServer
public class SpringcloudServerApplication {
public static void main(String[] args) {
SpringApplication.run(SpringcloudServerApplication.class, args);
}
}
②配置application.properties配置文件,配置如下。
server.port=8761
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
启动该模块。打开浏览器输入http://localhost:8761
如图所示,启动成功。但是目前没有发现任何的服务。
3.选择项目鼠标右键新增模块(springcloud-provider)
(角色:服务一:接收一个参数并返回给用户)
新增模块步骤与第2步类似,但是依赖选择Spring Web和Eureka Discovery Client
服务一代码
①在启动类中添加一个@EnableEurekaClient注解
@SpringBootApplication
@EnableEurekaClient
public class SpringcloudProviderApplication {
public static void main(String[] args) {
SpringApplication.run(SpringcloudProviderApplication.class, args);
}
}
②在与启动类统一目录下新建一个ProviderController.java控制器类,代码如下。
@RestController
public class ProviderController {
@RequestMapping(value = "/person/{name}",method = RequestMethod.GET)
public String findName(@PathVariable("name") String name){
return name;
}
}
③配置application.properties配置文件,配置如下。
spring.application.name=service-provider
eureka.instance.hostname=localhost
eureka.client.service-url.defaultZone=http://localhost:8761/eureka
启动该模块,刷新一下浏览器。
服务一注册成功!!
4.选择项目鼠标右键新增模块(springcloud-invoker)
(角色:服务二:调用服务一中的方法)
新建模块步骤和依赖与第3步一样。
服务二代码
①在启动类中添加一个@EnableDiscoveryClient注解
@SpringBootApplication
@EnableDiscoveryClient
public class SpringcloudInvokerApplication {
public static void main(String[] args) {
SpringApplication.run(SpringcloudInvokerApplication.class, args);
}
}
②在与启动类统一目录下新建一个InvokerController.java控制器类,代码如下。
@RestController
@Configuration
public class InvokerController {
@Bean
@LoadBalanced
public RestTemplate getRestTemplate(){
return new RestTemplate();
}
@RequestMapping(value = "/router",method = RequestMethod.GET)
public String router(){
RestTemplate restTemplate = getRestTemplate();
String name = restTemplate.getForObject("http://service-provider/person/chonor",String.class);
return name;
}
}
③配置application.properties配置文件,配置如下。
server.port=9000
spring.application.name=service-invoker
eureka.instance.hostname=localhost
eureka.client.service-url.defaultZone=http://localhost:8761/eureka
启动该模块,刷新一下浏览器。
服务一,服务二均注册成功!!
测试
浏览器输入http://localhost:9000/router
原文
原文在我的个人博客中:使用IDEA搭建第一个Spring Cloud项目(图解)
今天的文章使用IDEA搭建第一个Spring Cloud项目(图解)分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/19217.html