SpringCloud 创建微服务

步骤1 : 使用Spring Initializr https://start.spring.io/

步骤2 : 选择Spring Boot版本 2.2.0 M6 或更高版本。不要选择快照版本。

步骤3 : 提供 Group名称。在我们的情况下, om.aizws

步骤4 : 提供 Artifact id 。我们提供了 limits-service

创建简单的微服务

步骤5 : 添加以下依赖性: Spring Web,Spring Boot DevTools,Spring Boot Actuator,Config Client

创建简单的微服务

步骤6: 在生成项目上单击 按钮。将下载一个 zip 文件,并将其解压缩到硬盘中。

步骤7: 现在,打开 eclipse 。导入创建的Maven项目。下载所需的文件需要一些时间。

步骤8 : 下载项目后,转到 src/main/java 。打开 LimitsServiceApplication

步骤9 : 现在,将 LimitsServiceApplication.java 作为Java应用程序运行。

它在端口8080(http )。

现在,我们将在上述项目中添加几个服务。为此,我们将必须执行以下步骤:

步骤1 : 打开 application.properties 文件并编写以下代码:

spring.application.name=limits-service      //name of application

步骤2: 在包 com.aizws.microservices下的src/main/java文件夹中,创建一个名称为 LimitsConfigurationController.java 的类文件。 limitsservice 并编写以下代码:

package com.aizws.microservices.limitsservice;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import com.aizws.microservices.limitsservice.bean.LimitConfiguration;
@RestController
public class LimitsConfigurationController 
{
@GetMapping("/limits")
public LimitConfiguration retriveLimitsFromConfigurations()
{
return new LimitConfiguration(1000, 1);
}
}

步骤3 : 在包 src/main/java 中的文件夹 src/main/java 中创建名称为 LimitConfiguration.java 的类文件。 > com.aizws.microservices.limitservice.bean 并编写以下代码:

package com.aizws.microservices.limitsservice.bean;
public class LimitConfiguration 
{
private int maximum;
private int minimum;
//no-argument constructor
protected LimitConfiguration()
{
}
//generating getters
public int getMaximum() 
{
return maximum;
}
public int getMinimum() 
{
return minimum;
}
//genetrating constructor using fields
public LimitConfiguration(int maximum, int minimum) 
{
super();
this.maximum = maximum;
this.minimum = minimum;
}
}

在浏览器中键入 localhost:8080/limits ,然后按Enter,我们将JSON响应作为输出。

输出

{
maximum: 1000,
minimum: 1
}

在application.properties中添加服务

在上一个程序中,我们将根据需要修改代码。

现在我们将< application.properties 文件中的strong> limits-service 。在此文件中,我们将配置几个值。

limits-service.minimum=99
limits-service.maximum=9999

在Spring Boot中,有一种更好的方法是使用注释 @ConfigurationProperties 从配置中读取值。

步骤1 : 创建一个包 com.aizws.microservices.limitservice 下的文件夹 src/main/java 中名称为 Configuration.java 的类。

步骤2 : 添加注释 @Component @ConfigurationProperties

步骤3 : 声明两个变量 minimum maximum

Step 4 : 如果我们使用的是配置文件,我们需要生成getter和setter。

Configuration.java文件如下所示。

package com.aizws.microservices.limitsservice;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties("limits-service")
public class Configuration 
{
private int maximum;
private int minimum;
public void setMaximum(int maximum) 
{
this.maximum = maximum;}
public void setMinimum(int minimum) 
{
this.minimum = minimum;
}
public int getMaximum() 
{
return maximum;
}
public int getMinimum() 
{
return minimum;
}
}

步骤5 : 现在,移至 LimitsConfigurationController.java 文件并修改代码。在这里,我们将使用配置。

package com.aizws.microservices.limitsservice;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import com.aizws.microservices.limitsservice.bean.LimitConfiguration;
@RestController
public class LimitsConfigurationController 
{
@Autowired  
private Configuration configuration;   
@GetMapping("/limits")
public LimitConfiguration retriveLimitsFromConfigurations()
{
//getting values from the properties file
return new LimitConfiguration(configuration.getMaximum(), configuration.getMinimum());
}
}

现在刷新浏览器页面。它显示在 application .properties 文件中配置的更新值的JSON格式。

输出

{
maximum: 999,
minimum: 99
}

下一章:SpringCloud Config Server步骤

 步骤1: 使用Spring Initializr创建一个Maven项目 https://start.spring.io/步骤2: 选择Spring Boot版本 2.2 ...