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 ...