`
234390216
  • 浏览: 10246967 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
A5ee55b9-a463-3d09-9c78-0c0cf33198cd
Oracle基础
浏览量:463271
Ad26f909-6440-35a9-b4e9-9aea825bd38e
springMVC介绍
浏览量:1776787
Ce363057-ae4d-3ee1-bb46-e7b51a722a4b
Mybatis简介
浏览量:1399475
Bdeb91ad-cf8a-3fe9-942a-3710073b4000
Spring整合JMS
浏览量:395323
5cbbde67-7cd5-313c-95c2-4185389601e7
Ehcache简介
浏览量:680441
Cc1c0708-ccc2-3d20-ba47-d40e04440682
Cas简介
浏览量:531529
51592fc3-854c-34f4-9eff-cb82d993ab3a
Spring Securi...
浏览量:1186062
23e1c30e-ef8c-3702-aa3c-e83277ffca91
Spring基础知识
浏览量:470106
4af1c81c-eb9d-365f-b759-07685a32156e
Spring Aop介绍
浏览量:151803
2f926891-9e7a-3ce2-a074-3acb2aaf2584
JAXB简介
浏览量:68581
社区版块
存档分类
最新评论

Spring Cloud(02)——bootstrap文件介绍

阅读更多

bootstrap文件介绍

bootstrap的中文翻译是“引导程序”的意思。Spring中的ApplicationContext是会有父子关系的。Spring Cloud初始化的ApplicationContext叫bootstrap ApplicationContext,之后会创建一些子的ApplicationContext。这个bootstrap ApplicationContext如果在初始化的过程中是可以接收一些外部属性控制的,那么对应的属性需要配置在bootstrap.yml或bootstrap.properties文件中。默认会在Classpath的根路径或config路径下寻找它们。ApplicationContext是有父子关系的,那依托于ApplicationContext的Environment也相当于间接的有了父子关系,所以定义在bootstrap.yml文件中的属性值也可以被我们自己定义的bean使用。只是它里面的值会被我们定义在application.yml中的相同属性的值覆盖掉。bootstrap ApplicationContext寻找的外部属性文件的名字不一定是bootstrap,它可以通过系统属性spring.cloud.bootstrap.name进行指定,比如通过系统属性spring.cloud.bootstrap.name指定bootstrap属性文件的名称是application,即会在Classpath根目录或config目录下寻找application.yml或application.properties文件。也可以通过系统属性spring.cloud.bootstrap.location指定bootstrap文件的位置,它们的用法就类似于Spring Boot中指定配置文件的spring.config.name和spring.config.location`。

如果在bootstrap.yml中指定了spring.profiles.active=dev,则bootstrap ApplicationContext寻找配置文件时还会寻找bootstrap-dev.yml文件。

如果有需要我们也需要在bootstrap ApplicationContext中做一些事情,比如定义一些bean等,则我们也可以定义一个使用@Configuration标注的Class,然后在Classpath下的META-INF/spring.factories文件中通过org.springframework.cloud.bootstrap.BootstrapConfiguration属性指定@Configuration类的名称。比如下面这样一个@Configuration类。

@Configuration
public class BootstrapConfiguration {

  @Bean
  public TestService testService() {
    return new TestService();
  }

}

那么在spring.factories文件中需要这样定义。

org.springframework.cloud.bootstrap.BootstrapConfiguration=com.elim.learn.spring.cloud.config.client.BootstrapConfiguration

(注:本文是基于Spring Cloud Finchley.SR1所写)

0
0
分享到:
评论

相关推荐

    SpringCloud——分布式配置中心(Spring Cloud Config)

    Spring Cloud Config 支持多种类型的仓库,如 Git、Subversion 或本地文件系统。默认使用 Git,因为它提供了版本控制和历史记录功能,方便跟踪配置变更。 **三、配置服务器的启动** 要启动 Config Server,需要在 `...

    SpringCloud 在线教育 —— 界面原型.rar

    【标题】"SpringCloud 在线教育 —— 界面原型.rar" 涉及到的知识点主要集中在构建基于 SpringCloud 的在线教育平台的用户界面设计上。SpringCloud 是一个微服务开发工具集,用于简化分布式系统(如配置管理、服务...

    springcloud-nacos-demo.zip

    本篇文章将深入探讨如何将SpringCloud与Nacos进行有效整合,通过具体的项目实例——"springcloud-nacos-demo",来解析这一过程的关键知识点。 一、SpringCloud简介 SpringCloud是基于Spring Boot实现的云应用开发...

    SpringCloud整合配置中心.zip

    本项目以SpringCloud的配置中心组件——Spring Cloud Config为基础,提供了一个简单易懂的示例,帮助开发者了解并学习如何使用配置中心。 首先,我们需要理解Spring Cloud Config的主要功能。它由两部分组成:...

    Spring Cloud 配置教程.docx

    Spring Cloud 提供了一个强大的工具——Spring Cloud Config,用于集中式管理应用的配置信息。这种方式不仅有助于统一管理多环境下的配置,还能够在不重启服务的情况下进行配置更新。 ##### 1.1 Spring Cloud ...

    spring_cloud.rar

    《Spring Cloud初学者指南——基于数据库SQL文件的学习与实践》 Spring Cloud作为微服务架构的首选框架,为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、...

    springcloud整合Eureka源码-单机版.7z

    《SpringCloud整合Eureka源码解析——单机版》 在微服务架构中,服务发现是至关重要的一个环节,Spring Cloud Eureka就是这样一个强大的服务注册与发现组件。本文将深入探讨如何将Eureka与Spring Boot整合,搭建一...

    springcloud_study.zip

    本教程“springcloud_study.zip”提供了可以直接运行的代码,旨在帮助你深入理解并实践SpringCloud的五大核心组件——Eureka、Hystrix、Zuul、Ribbon和Feign,以及它们如何协同工作,打造健壮的微服务体系。...

    Spring Cloud Zuul动态路由demo

    本篇文章将深入探讨如何使用Spring Cloud Zuul实现动态路由,并通过实际的代码示例——"Spring Cloud Zuul动态路由demo"来展示这一功能。 1. **Zuul简介** Zuul是Netflix开源的一个边缘服务,主要功能包括路由转发...

    分布式事务 Seata AT 模式-Spring Cloud微服务案例(二)(csdn)————程序.pdf

    本文将深入探讨Seata的AT(Automatic Transaction)模式在Spring Cloud微服务环境中的应用。 AT模式是Seata的一种自动提交或回滚事务的方式,它通过代理数据库操作来实现分布式事务的两阶段提交(2PC)。在这个模式...

    nacos-sentinel-spring-cloud-example.zip

    在本示例项目 "nacos-sentinel-spring-cloud-example.zip" 中,我们将探讨如何将阿里巴巴的两个核心组件——Nacos 和 Sentinel——集成到 Spring Cloud 应用程序中,以实现服务治理、动态配置以及流量控制。...

    config-server:测试配置服务器——基于spring cloud示例项目

    在Spring Cloud Config Server的实现过程中,我们首先需要创建一个新的Spring Boot项目,并在`pom.xml`文件中添加Spring Cloud Config Server的依赖。确保你的`dependencies`部分包含如下内容: ```xml <groupId>...

    JAVA工具factroy.rar

    "JAVA工具factory.rar"这个压缩包很可能包含了与Java开发相关的工具、库或框架,而"springcloud dubbo"标签则指向了两个重要的微服务技术——Spring Cloud和Dubbo。 Spring Cloud是基于Spring Boot构建的一套完整的...

    java web项目——51商城

    Spring Boot简化了Spring的启动和配置,而Spring Cloud则为微服务架构提供了支持。 7. **前端技术**:前端界面可能采用HTML5、CSS3和JavaScript进行开发,可能使用Bootstrap或Vue.js等现代前端框架提升用户体验。...

    SpringBoot最新2021年面试题,高级面试题及附答案解析.md

    通常情况下,我们会在如Spring Cloud Config或Nacos等场景下使用`bootstrap`文件。值得注意的是,`bootstrap`文件内的属性是不可被覆盖的。 - **application(.yml或.properties)**:相比之下,`application`配置...

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    ├─面试必问-微服务架构深入浅出讲解springcloud │ 微服务架构 --深入浅出讲解springcloud.mp4 │ ├─面试必问-教你手写MyBatis框架 │ 一小时教你手写MyBatis框架.mp4 │ ├─面试必问-架构杀手锏——java混乱...

    基于Springboot的微乐校园管理系统(有报告) Javaee项目,springboot项目

    《基于Springboot的微乐校园管理系统(有报告)——Javaee项目解析》 Springboot作为当前Java开发领域中备受推崇的框架,以其简洁、高效、快速启动的特点深受开发者喜爱。在“微乐校园”这个Javaee项目中,我们看到...

    WEB应用程序实例——小型教务管理系统

    【标题】"WEB应用程序实例——小型教务管理系统"揭示了一个基于Web技术的教育管理软件的开发实践。这个实例深入展示了如何构建一个实用的在线教务管理平台,它可以帮助学校或教育机构有效地组织和管理日常教学活动。...

    音乐网站管理系统-毕业设计.zip

    虽然不包含在“压缩包子文件的文件名称列表”中,但通常前端会使用React、Vue或Angular等现代JavaScript框架,配合Bootstrap或Element UI等UI库,构建用户友好的界面。 7. **测试与部署** 使用JUnit进行单元测试...

    JAVA开发工程师简历模板.docx

    SpringBoot和SpringCloud的结合用于分布式项目开发,实现服务的熔断、降级、负载均衡和监控。 3. **开发工具与版本控制**:使用Eclipse/IDEA、Maven进行项目构建,Git或SVN进行版本控制,这是现代软件开发的标准...

Global site tag (gtag.js) - Google Analytics