当前位置: 首页 > news >正文

(二)springcloud实战之config配置中心

本项目中:
jdk版本:jdk1.8
springboot版本:2.3.10.RELEASE
springcloud版本:Hoxton.SR11

一、项目结构

父工程
父工程下的config-center-8010(配置中心服务端)
父工程下的student-service-8011(配置中心客户端)
在这里插入图片描述

二、config配置中心服务端

2.1、引入服务端依赖

<!-- 配置中心服务端-->
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-config-server -->
    <dependency>
         <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-config-server</artifactId>
    </dependency>

没有写版本号是因为:父工程中声明了springcloud,springcloud中声明了spring-cloud-config-dependencies

2.2、添加配置文件

此处以本地存储配置文件为例:
application.properties

# 服务端口
server.port=8010

# 服务名称
spring.application.name=config-center

# 配置config文件位置,native表示本地存储配置文件(还有svn,git方式等)
spring.profiles.active=native
spring.cloud.config.server.native.search-locations=classpath:/myconfig

图解:
在这里插入图片描述

2.3、启动类添加注解

@EnableConfigServer

在这里插入图片描述

到这里,配置中心服务端就搭建好了!

三、客户端

3.1、配置中心客户端添加依赖

    <!--配置中心客户端依赖-->
    <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-config -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-config</artifactId>
    </dependency>

3.2、bootstrap.yml配置文件

在resource文件夹下新建bootstrap.yml配置文件:

spring:
  application:
    name: student-service
  profiles:
    active: tzq

  # 配置中心存放配置文件格式:${application.name}-${profiles.active}.yml
  # 例如student-service-tzq.yml、student-service-tzq.properties
  # 通过上述两个配置去配置中心读取对应的配置文件
  cloud:
    config:
      # uri 配置中心服务地址
      uri: http://localhost:8010
      fail-fast: true

在这里插入图片描述

这里为什么用bootstrap.yml来添加配置,而不是application.properties。
因为:bootstrap.yml比application.yml的优先级要高,项目启动的时候就会执行,适合配置中心客户端使用,项目启动的时候去配置中心拉取配置信息。

bootstrap.yml和application.yml的优先级(加载顺序)

  • bootstrap 由spring父上下文加载,比application配置文件优先加载,而application配置文件由子上下文加载
  • bootstrap加载的配置信息不能被application的相同配置覆盖

3.3、在配置中心服务规定的位置新建所需配置文件

在resource文件夹下新建文件夹myconfig,在myconfig文件夹下新建:student-service-tzq.properties文件
在这里插入图片描述
student-service-tzq.properties文件:

server.port=8011

# 服务名称
spring.application.name=student-service

# mysql数据库连接
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/tzq?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=Admin@123

# 配置actuator的访问端口,如果不配置则默认跟该服务运行端口一样
management.server.port=7802
# 配置actuator的info信息,info.后面可以自己随便定义
info.name=${spring.application.name}
info.tzq=tzq

到这里配置中心客户端也完成!
先启动配置中心服务端,再启动客户服务。
在这里插入图片描述
控制台显示:Fetching config from server at : http://localhost:8010
配置中心成功!!!

相关文章:

  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • 升级pip 升级pip3的快速方法
  • 【CDGP】如何识别主数据?
  • 南大通用的GBase 8s 图形化管理工具介绍
  • 通过 MSE 实现基于Apache APISIX的全链路灰度
  • 神经网络优化算法有哪些,人工神经网络优化算法
  • 使用python-docx完成word操作
  • Interactive Tools Recommendation System integrating QT/ROS /Pytorch
  • 嵌入式属于人工智能吗?
  • Linux操作系统——进程控制【一】
  • 鸡葡萄菌感染怎么防治 预防鸡感染球菌病吃啥药
  • 技术分享 | App测试时常用的adb命令你都掌握了哪些呢?
  • 鸡得关节炎有哪些症状 鸡喂什么药预防球菌病
  • Dockerfile的使用-利用docker构建包含jdk ,vim centos
  • LeetCode-946-验证栈序列
  • [deviceone开发]-do_Webview的基本示例
  • [译] React v16.8: 含有Hooks的版本
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • egg(89)--egg之redis的发布和订阅
  • go语言学习初探(一)
  • JavaScript 基本功--面试宝典
  • JavaScript 基础知识 - 入门篇(一)
  • javascript 总结(常用工具类的封装)
  • JDK 6和JDK 7中的substring()方法
  • mysql常用命令汇总
  • XML已死 ?
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 关于使用markdown的方法(引自CSDN教程)
  • 记一次和乔布斯合作最难忘的经历
  • 排序算法学习笔记
  • 批量截取pdf文件
  • 深入浏览器事件循环的本质
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 写给高年级小学生看的《Bash 指南》
  • 新书推荐|Windows黑客编程技术详解
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 容器镜像
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • ​插件化DPI在商用WIFI中的价值
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (3)nginx 配置(nginx.conf)
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (多级缓存)缓存同步
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (九十四)函数和二维数组
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (四) 虚拟摄像头vivi体验
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .net Stream篇(六)