SpringCloud (capítulo 002) Clase de microservicio de película simple (consumidor y proveedor es microservicio de usuario)
1. Introducción general
Los microservicios se comunican entre sí a través del protocolo Http;
los microservicios de usuario actúan como proveedores, los microservicios de películas actúan como consumidores y los microservicios de películas consumen microservicios de usuario;
2. Pasos de implementación
2.1 Agregar paquete de referencia maven
<?versión xml="1.0" codificación="UTF-8"?>
<proyecto xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3 .org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>springms-simple-consumer-movie</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<parent>
<groupId>com. springms.cloud</groupId>
<artifactId>springms-spring-cloud</artifactId>
<versión>1.0-SNAPSHOT</version>
</parent>
<dependencies>
<!-- web模块 -->
<dependencia>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
2.2 Agregue el archivo de configuración de la aplicación (springms-simple-consumer-movie\src\main\resources\application.yml)
spring:
aplicación:
nombre: springms-simple-consumer-movie #全部小写
servidor:
puerto: 8005
usuario:
userServicePath: http://localhost:8000/simple/
2.3 Agregar usuario de clase de usuario de entidad (springms-simple-consumer-movie\src\main\java\com\springms\cloud\entity\User.java)
paquete com.springms.cloud.entity;
importar java.math.BigDecimal;
usuario de clase pública {
identificación larga privada;
nombre de usuario de cadena privada;
cadena privada nombre;
privado Corta edad;
saldo BigDecimal privado;
public Long getId() {
devuelve este.id;
}
public void setId(Long id) {
this.id = id;
}
public String getUsername() {
devuelve este.nombre de usuario;
}
public void setUsername(String nombreusuario) {
this.username = nombreusuario;
}
public String getName() {
devuelve este.nombre;
}
public void setName(String nombre) {
este.nombre = nombre;
}
public Short getAge() {
return this.age;
}
public void setEdad(Edad corta) {
this.edad = edad;
}
public BigDecimal getBalance() {
return this.balance;
}
public void setBalance(Balance BigDecimal) {
this.balance = balance;
}
}
2.4 Agregar controlador de capa de acceso web de películas (springms-simple-consumer-movie\src\main\java\com\springms\cloud\controller\MsSimpleConsumerMovieController.java)
paquete com.springms.cloud.controller;
importar com.springms.cloud.entity.User;
importar org.springframework.beans.factory.annotation.Autowired;
importar org.springframework.beans.factory.annotation.Value;
importar org.springframework.web.bind.annotation.GetMapping;
importar org.springframework.web.bind.annotation.PathVariable;
importar org.springframework.web.bind.annotation.RestController;
importar org.springframework.web.client.RestTemplate;
/**
* 电影微服务Controller。
*
* @author hmilyylimh
*
* @version 0.0.1
*
* @date 2017/9/17
*
*/
@RestController
public class MsSimpleConsumerMovieController {
@Autowired
privado RestTemplate restTemplate;
@Value("${user.userServicePath}")
private String userServicePath;
@GetMapping("/movie/{id}")
public User findById(@PathVariable Long id) {
return this.restTemplate.getForObject(this.userServicePath + id, User.class);
}
}
2.5 Agregue una clase de inicio de microservicio de película simple (springms-simple-consumer-movie\src\main\java\com\springms\cloud\MsSimpleConsumerMovieApplication.java)
paquete com.springms.cloud;
importar org.springframework.boot.SpringApplication;
importar org.springframework.boot.autoconfigure.SpringBootApplication;
importar org.springframework.context.annotation.Bean;
importar org.springframework.web.client.RestTemplate;
/ **
* Microservicio de película simple (consumidor y proveedor es microservicio de usuario).
*
* @author hmilyylimh
*
* @version 0.0.1
*
* @date 2017/9/17
*
*/
@SpringBootApplication
public class MsSimpleConsumerMovieApplication {
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
public static void main( Cadena[] argumentos) {
SpringApplication.run(MsSimpleConsumerMovieApplication.class, args);
System.out.println("[[[[[[Simple Movie Microservice]]]]]] iniciado.");
}
}
3. prueba
/**************************************************** *** ****************************************
1. Micro película simple servicios (consumidores, y el proveedor es el microservicio de usuario):
1. Inicie el servicio del módulo springms-simple-provider-user e inicie 1 puerto;
2. Inicie el servicio del módulo springms-simple-consumer-movie e inicie 1 puerto;
3. En el navegador Ingrese la dirección http://localhost:8005/movie/1 y podrá ver que la información se imprime con éxito;
********************* ****** ************************************************ ********* *************/