首页 > 其他分享 >学习springCloud的配置之Swagger的配置

学习springCloud的配置之Swagger的配置

时间:2023-02-28 10:12:55浏览次数:48  
标签:spring Spring 配置 存储配置 cloud springCloud Swagger Cloud

文章来源于:https://www.bbsmax.com/A/1O5E3VP4z7/

本文仅做学习记录用途

Spring Cloud 配置中心采用数据库存储配置内容

转自:Spring Cloud Config采用数据库存储配置内容【Edgware+】

Spring Cloud Server配置中心采用了Git的方式进行配置信息存储。这一设计巧妙的利用Git自身机制以及其他具有丰富功能的Git服务端产品,让Spring Cloud Server在配置存储和管理的上避开了很多与管理相关的复杂实现,使其具备了配置中心存储配置和读取配置的基本能力;而更上层的管理机制,由于不具备普遍适用性,所以Spring Cloud Server并没有自己去实现这部分内容,而是通过Git服务端产品来提供一部分实现,如果还需要更复杂的功能也能自己实现与定义。即便如此,对于Spring Cloud Server默认使用Git来存储配置的方案一直以来还是饱受争议。所以,本文将介绍一下Spring Cloud Config从Edgware版本开始新增的一种配置方式:采用数据库存储配置信息。

构建配置中心服务端

第一步:创建一个基础的Spring Boot项目,在pom.xml中引入几个主要依赖:

  • spring-cloud-config-server:配置中心的基础依赖
  • spring-boot-starter-jdbc:由于需要访问数据库,所以需要加载jdbc的依赖
  • mysql-connector-java:MySQL数据库的连接包
  • flyway-core:该内容非强制,主要用来管理schema(如果您不了解可以看一下这篇文章
  1. <parent>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-parent</artifactId>
  4. <version>1.5.11.RELEASE</version>
  5. <relativePath/>
  6. </parent>
  7.  
  8. <dependencies>
  9. <dependency>
  10. <groupId>org.springframework.cloud</groupId>
  11. <artifactId>spring-cloud-config-server</artifactId>
  12. </dependency>
  13. <dependency>
  14. <groupId>org.springframework.boot</groupId>
  15. <artifactId>spring-boot-starter-jdbc</artifactId>
  16. </dependency>
  17. <dependency>
  18. <groupId>org.flywaydb</groupId>
  19. <artifactId>flyway-core</artifactId>
  20. <version>5.0.3</version>
  21. </dependency>
  22. <dependency>
  23. <groupId>mysql</groupId>
  24. <artifactId>mysql-connector-java</artifactId>
  25. <version>5.1.21</version>
  26. </dependency>
  27. </dependencies>
  28.  
  29. <dependencyManagement>
  30. <dependencies>
  31. <dependency>
  32. <groupId>org.springframework.cloud</groupId>
  33. <artifactId>spring-cloud-dependencies</artifactId>
  34. <version>Edgware.SR3</version>
  35. <type>pom</type>
  36. <scope>import</scope>
  37. </dependency>
  38. </dependencies>
  39. </dependencyManagement>

第二步:准备schema创建文件。在resources下创建schema目录,并加入V1__Base_version.sql文件,具体内容如下:

 

 

该脚本会在程序运行时由flyway自动执行。

第三步:创建应用主类,具体如下:

 

 

这里增加了一些测试用数据,以便于后续的配置读取验证。

第四步:配置application.properties,具体内容如下:

 

 

这里主要涉及几个配置:

  • spring.profiles.active=jdbc:必须设置,将配置中心的存储实现切换到jdbc的方式
  • spring.cloud.config.server.jdbc.sql:非必须,这里由于采用mysql数据源,keyvalue是保留关键词,原生的实现语句会报错,所以需要重写一下这句查询语句(如果存储的表结构设计不同于上面准备的内容,也可以通过这个属性的配置来修改配置的获取逻辑)
  • spring.datasource.*:存储配置信息的数据源配置,这里采用mysql,开发者根据自己实际情况修改
  • flyway.locations:flyway加载schema创建sql的位置

服务端配置验证

完成了上一节内容之后,我们就已经构建一个通过数据酷来存储配置内容的配置中心了,下面我们可以通过配置中心暴露的端点来尝试读取配置。

第一步:先将上面构建的配置中心启动起来。

第二步:验证配置信息获取:

  • curl http://localhost:10020/config-client/stage/,获取信息config-client服务stage环境的配置内容,根据上面的数据准备,我们会获得如下返回内容:

 

标签:spring,Spring,配置,存储配置,cloud,springCloud,Swagger,Cloud
From: https://www.cnblogs.com/niqiaoyoufeng/p/17162952.html

相关文章