IDEA搭建springcloud微服务

Love The Way You Lie 2021-12-17 05:09 691阅读 0赞

1:创建空的MAVEN项目

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 1

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 2

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 3

然后删除src目录

二:搭建注册中心

①在CloudDemo项目上新建Module

20190708160845553.png

②选择Spring Initializr,点击Next

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 4

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 5

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 6

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 7

目录结构

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 8

③在启动类添加注解表明是注册中心

  1. @EnableEurekaServer

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 9

④打开application.properties文件进行编辑

  1. #注册中心端口号
  2. server.port=1010
  3. #注册中心IP地址
  4. eureka.instance.hostname=localhost
  5. #服务注册中心不注册自己
  6. eureka.client.register-with-eureka=false
  7. #注册中心不负责检索服务
  8. eureka.client.fetch-registry=false
  9. eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 10

⑤启动项目

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 11

⑥访问 http://localhost:1010/

  1. 注册中心完成

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 12

三:服务提供者

①新建Module

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 13

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 14

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 15

②添加注解

  1. package com.example.ribbonclient;
  2. import org.springframework.beans.factory.annotation.Autowired;
  3. import org.springframework.boot.SpringApplication;
  4. import org.springframework.boot.autoconfigure.SpringBootApplication;
  5. import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
  6. import org.springframework.cloud.client.loadbalancer.LoadBalanced;
  7. import org.springframework.context.annotation.Bean;
  8. import org.springframework.web.client.RestTemplate;
  9. @SpringBootApplication
  10. @EnableDiscoveryClient
  11. public class RibbonClientApplication {
  12. public static void main(String[] args) {
  13. SpringApplication.run(RibbonClientApplication.class, args);
  14. }
  15. @Bean
  16. @LoadBalanced
  17. RestTemplate restTemplate(){
  18. return new RestTemplate();
  19. }
  20. }

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 16

③新建包controller

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 17

④新建java文件HelloRibbonControler

  1. @RestController
  2. public class HelloRibbonController {
  3. @RequestMapping("/hello")
  4. public String hello(String name){
  5. return name+":hello world";
  6. }
  7. }

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 18

⑤配置application.properties文件

  1. server.port=1011
  2. eureka.instance.hostname=localhost
  3. spring.application.name=ribbon-client
  4. eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:1010/eureka/

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 19

⑥启动项目

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 20

⑦访问http://localhost:1010/

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 21

http://localhost:1011/hello?name=aa

20190708205050497.png

⑧也可以新建service,controller调用service

  1. @Service
  2. public class HelloRibbonService {
  3. public String sayHello(String name){
  4. return name+" service:hello world";
  5. }
  6. }

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 22

访问结果

2019070821001797.png

四:服务消费者

①新建项目ribbon-consumer

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 23

②需要加上RestTemplate老调用服务

  1. @SpringBootApplication
  2. @EnableDiscoveryClient
  3. public class RibbonConsumerApplication {
  4. public static void main(String[] args) {
  5. SpringApplication.run(RibbonConsumerApplication.class, args);
  6. }
  7. @Bean
  8. @LoadBalanced
  9. public RestTemplate restTemplate(){
  10. return new RestTemplate();
  11. }
  12. }

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 24

③建controller和service层

service代码如下

  1. @Service
  2. public class HelloService {
  3. @Autowired
  4. RestTemplate restTemplate;
  5. public String getHello(String name){
  6. return restTemplate.getForObject("http://ribbon-client/hello?name=zhaoyangguang",String.class);
  7. }
  8. }

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 25

controller代码如下

  1. @RestController
  2. public class HelloController {
  3. @Autowired
  4. HelloService service;
  5. @RequestMapping("/hello")
  6. public String hello(String name){
  7. return service.getHello(name);
  8. }
  9. }

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmdndWFuZ25pdWJp_size_16_color_FFFFFF_t_70 26

④application.properties配置信息

  1. server.port=1012
  2. spring.application.name=ribbon-consumer
  3. eureka.instance.hostname=localhost
  4. eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:1010/eureka/

⑤访问http://localhost:1012/hello

20190712190831287.png

发表评论

表情:
评论列表 (有 0 条评论,691人围观)

还没有评论,来说两句吧...

相关阅读

    相关 springcloud服务-项目

    前言:      乐优商城这个视频还可以,于是拿来练练手,我对着视频搭环境一直在service服务模块卡住了,注册中心和网关可以启动,服务模块却一直启动不了,报各种奇怪的错,

    相关 SpringCloud服务框架

    一、微服务架构 1.1什么是分布式 不同模块部署在不同服务器上 作用:分布式解决网站高并发带来问题 1.2什么是集群 多台服务器部署相同应用构成一个集群