首页 > 其他分享 >《深入理解Spring Cloud与微服务构建》学习笔记(二十)~配置中心Spring Cloud Config

《深入理解Spring Cloud与微服务构建》学习笔记(二十)~配置中心Spring Cloud Config

时间:2023-06-05 22:36:38浏览次数:37  
标签:配置文件 Config Spring server yaml cloud foo config Cloud

本例重新创建项目,构建一个空的mavan工程。

一、Config Server 从本地读取配置文件
 新建一个moudle config_server ,pom添加依赖

1.  
2.  
<groupId>org.springframework.cloud</groupId>
3.  
<artifactId>spring-cloud-config-server</artifactId>
4.  
</dependency>
 启动类添加 @EnableConfigServer 依赖开启配置服务功能,application.yaml添加配置如下:
1.  
server:
2.  
port: 9001
3.  
spring:
4.  
profiles:
5.  
active: native  #从本地读取配置文件
6.  
cloud:
7.  
config:
8.  
server:
9.  
native:
10.  
search-locations: classpath:/shared  #读取classpath下shared目录下的配置
在resource目录下新建shared目录,shared下新建 config-client-dev.yaml配置文件:
1.  
server:
2.  
port: 3000
3.  
foo: foo-version-v1
继续新建一个modulr config_client ,添加config 客户端依赖,如:
1.  
<dependency>
2.  
<groupId>org.springframework.cloud</groupId>
3.  
<artifactId>spring-cloud-starter-config</artifactId>
4.  
</dependency>
 添加配置文件application.yaml:
1.  
spring:
2.  
application:
3.  
name: config-client
4.  
cloud:
5.  
config:
6.  
uri: http://localhost:9001  #读取配置文件的config服务地址
7.  
fail-fast: true  #读取未成功则快速失败
8.  
profiles:
9.  
active: dev   #读取dev配置文件
启动类添加代码,获取服务端配置的foo属性:
1.  
@Value("${foo}")
2.  
    String foo ;
3.   
4.  
@GetMapping("/foo")
5.  
public String foo(){
6.  
return " 读取的远程服务的配置文件foo:"+foo;
7.  
    }

 此时编码完成,启动config-server、config-client,然而启动config-client的时候控制台一直报错:

《深入理解Spring Cloud与微服务构建》学习笔记(二十)~配置中心Spring Cloud Config_读取配置文件

 

 

一直访问的是默认的端口,并没有使用我们配置的端口,说明配置文件没有被正常加载。
通过调研发现,config-client中配置文件会首先加载bootstrap.yaml,将配置文件application.yaml 修改为 bootstrap.yaml,重新启动发现正常,在浏览器访问:http://localhost:3000/foo  

会看到浏览器输出我们在服务端配置的信息:

 



标签:配置文件,Config,Spring,server,yaml,cloud,foo,config,Cloud
From: https://blog.51cto.com/u_4018548/6420085

相关文章

  • 第三次技术问答 ---- Spring&&Spring Boot
    Spring框架1、说说你对SpringIOC的理解?答:控制反转将对象的创建和管理由程序员反转给spring程序管理Spring反向控制应用程序所需要使用的外部资源,类原来自己主动new对象,变成交给springIoc容器管理,配置好java对象的bean即可Spring控制的资源全部放置在Spring容器中,该容......
  • Spring Web 日志记录切面
    SpringWeb日志记录切面应用:在我们进行rest接口编写时需要对该接口的耗时、参数、请求路径、返回值进行对应的记录日志注解把日志封装成注解的形式可以更好的供使用者使用,同时也利于解耦合代码@Target({ElementType.TYPE,ElementType.METHOD})@Retention(RetentionPo......
  • SpringMVC 国际化 Hibernate Validator 扩展注解
    高版本JDKHibernateValidator扩展注解https://stackoverflow.com/questions/35986200/error-creating-bean-with-name-org-springframework-validation-beanvalidation-opt1.JDK8版本需要添加的jar包springmvc验证需要的jar├─classmate-0.8.0.jar├─hibernate-v......
  • 二、Spring Reactive Security自定义登录页
    添加配置类:@ConfigurationpublicclassMyReactiveSecurityConfig{@BeanpublicReactiveUserDetailsServicereactiveUserDetailsService(){UserDetailsuser=User.withUsername("user").password("12345")......
  • Failed to configure a DataSource: 'url' attribute is not specified and no embedd
     这个异常在springboot,是一个常见的异常,我们引入了mybatis依赖,确没有在.yml文件中配置数据源,这次我配置了数据源,但是因为有二个application.yml和application-dev.yml,没有指定yml的环境,在application.yml中添加指定dev即可            ......
  • 一、Spring Reactive Security简单使用
    SpringReactiveSecurity是结合SpringWebFlux使用的。结合SpringBoot使用,简化了大量配置。 新建SpringBoot项目,添加依赖:<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId>......
  • SpringBoot 文件上传下载工具样例
    最近工作遇到这样的情景:一大堆linux内网服务器,上面部署了mysql,nacos,xxljob等中间件,当然也给了一个很干净的windows内网服务器,什么软件都没有安装。比较欣慰的是:可以通过浏览器访问nacos、xxljob的管理页面。不幸的是:没有安装mysql客户端和xshell等工具。我可以通过......
  • 纯注解方式整合Spring和Mybatis框架
    一、配置信息介绍application-dao.xml  application-dao.xml配置文件中配置的内容包含以下4项:读取jdbc.properties文件中的数据连接信息。创建Druid对象,并将读取的数据连接信息注入到Druid数据连接池对象中。创建SqlSessionFactoryBean对象,将并将Druid对象注入到SqlSessi......
  • springboot +nginx 配置http2
    说明nginx端使用http2+https,如果不使用https,浏览器会默认走http1.1后台使用http2,不使用https,因为内部服务之间没必要每次校验证书nginx配置#userroot;worker_processesauto;error_logD://nginx-log/error.log;#error_log/dev/null;#pidlogs/ngin......
  • 【Log4j】ログのツールーSpringBoot
    ログのUtilクラス:packagecom.example.demoaop.common;importcom.sun.deploy.config.DefaultConfig;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importjava.util.HashMap;importjava.util.Map;publicclassLogUtils{/***系统默认配置......