Используйте IDEA для создания первого проекта Spring Cloud (иллюстрация)

Spring Cloud

нужно

Создайте сервер Eureka, два сервиса. Обе службы зарегистрированы на сервере Eureka. Услуга, предоставляемая сервисом one, заключается в следующем: получить параметр и вернуть его пользователю. Служба 2: вызвать службу в службе 1.

微信截图_20200311231647

процесс сборки

1. Создайте обычный проект maven (springcloud-01-test)

微信截图_20200312003551

2. Выберите проект и щелкните правой кнопкой мыши, чтобы добавить новый модуль (springcloud-server).

(роль: сервер Эврика)

微信截图_20200312003753

微信截图_20200312003851

Заполните GroupId (структура каталога проекта), ArtifactId (имя проекта)

微信截图_20200312003910

Этот модуль действует как сервер Eureka. Требуемые зависимости: веб-модуль Spring и сервер Eureka.

微信截图_20200312004015

Код сервера Эврика

① Добавьте аннотацию @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.

微信图片_20200314220916.png
Как показано на рисунке, запуск прошел успешно. Но пока никаких сервисов не найдено.

3. Выберите проект и щелкните правой кнопкой мыши, чтобы добавить новый модуль (springcloud-provider).

(роль: первый сервис: получить параметр и вернуть его пользователю)

Шаги по добавлению модулей аналогичны шагу 2, но зависят от выбора Spring Web и Eureka Discovery Client.

微信截图_20200312004050

сервисный код

① Добавьте аннотацию @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

Запустите модуль и обновите браузер.

微信图片_20200314222547.png
Служба одна регистрация прошла успешно! !

4. Выберите проект и щелкните правой кнопкой мыши, чтобы добавить новый модуль (springcloud-invoker).

(роль: служба 2: вызвать метод в службе 1)

Шаги и зависимости нового модуля такие же, как и в шаге 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

Запустите модуль и обновите браузер.

微信截图_20200314224150.png
Сервис 1 и Сервис 2 успешно зарегистрированы! !

контрольная работа

Ввод браузера http://localhost:9000/router

微信图片_20200314224533.png

оригинальный

Оригинальный текст в моем личном блоге:Используйте IDEA для создания первого проекта Spring Cloud (иллюстрация)