在应用程序上放置属性的区别是什么?Yml或bootstrap。穿弹簧靴的Yml ? 在日志记录。配置情况下,应用程序的工作方式不同。
当前回答
bootstrap的另一种用法。Yml是从kubernetes configmap和secret资源中加载配置。应用程序必须导入spring-cloud-starter-kubernetes依赖项。
与Spring Cloud配置一样,这必须在引导阶段进行。
从文档中可以看出:
spring:
application:
name: cloud-k8s-app
cloud:
kubernetes:
config:
name: default-name
namespace: default-namespace
sources:
# Spring Cloud Kubernetes looks up a ConfigMap named c1 in namespace default-namespace
- name: c1
因此,使用meta.name default-name存储在configmap资源中的属性可以被引用,就像application.yml中的属性一样
同样的过程也适用于秘密:
spring:
application:
name: cloud-k8s-app
cloud:
kubernetes:
secrets:
name: default-name
namespace: default-namespace
sources:
# Spring Cloud Kubernetes looks up a Secret named s1 in namespace default-namespace
- name: s1
其他回答
引导。Yml或bootstrap.properties
只有当您使用Spring Cloud并且应用程序的配置存储在远程配置服务器(例如Spring Cloud Config server)时,才会使用/需要它。
从文档中可以看到:
Spring Cloud应用程序通过创建“引导”上下文来操作,该上下文是主应用程序的父上下文。它负责从外部源加载配置属性,并解密本地外部配置文件中的属性。
注意引导。Yml或bootstrap。属性可以包含额外的配置(例如默认值),但通常你只需要在这里放置引导配置。
通常它包含两个属性:
配置服务器的位置(spring.cloud.config.uri) 应用程序名称(spring.application.name)
在启动时,Spring Cloud使用应用程序的名称对配置服务器进行HTTP调用,并检索该应用程序的配置。
应用程序。Yml或application.properties
包含标准应用程序配置——通常是默认配置,因为在引导过程中检索的任何配置都将覆盖这里定义的配置。
我刚刚问了Spring Cloud的人,我想我应该在这里分享我的信息。
引导。Yml在application.yml之前加载。
它通常用于以下情况:
当使用Spring Cloud Config Server时,你应该在bootstrap.yml中指定Spring .application.name和Spring . Cloud . Config . Server .git.uri 一些加密/解密信息
从技术上讲,引导。yml是由父Spring ApplicationContext加载的。父ApplicationContext在使用application.yml的ApplicationContext之前加载。
引导。当你使用Spring Cloud并且你的应用程序的配置存储在远程配置服务器(例如Spring Cloud Config server)时,yml被使用。引导。Yml在application.yml之前加载
引导。Yml用于从服务器获取配置。它可以用于Spring云应用程序,也可以用于其他应用程序。通常是这样的:
spring:
application:
name: "app-name"
cloud:
config:
uri: ${config.server:http://some-server-where-config-resides}
当我们启动应用程序时,它会尝试连接到给定的服务器,并根据运行/调试配置中提到的spring概要文件读取配置。
如果服务器不可达,应用程序甚至可能无法进一步进行。但是,如果本地存在与概要文件匹配的配置,则服务器配置将被覆盖。
好的方法:
维护一个单独的配置文件本地和运行应用程序使用不同的配置文件。
引导。Yml是启动spring引导应用程序和应用程序时加载的第一个文件。属性在应用程序启动时加载。 在引导中,你可以保留配置服务器的凭证等。Yml,在加载应用程序时需要,然后在应用程序中。你保留的属性可能是数据库URL等。
推荐文章
- 如何在Spring中以编程方式获取当前活动/默认环境概要文件?
- equals vs Arrays。Java中的等号
- 为什么我们通常用|| / |?有什么不同?
- 如何在Android中获得一个RadioGroup的选定索引
- 如何大写一个字的第一个字母在字符串使用Java?
- 禁用IntelliJ星(包)导入?
- 面试问题:检查一个字符串是否是另一个字符串的旋转
- 将文件加载为InputStream的不同方法
- 到底是什么导致了堆栈溢出错误?
- 为什么Android工作室说“等待调试器”如果我不调试?
- Java:路径vs文件
- ExecutorService,如何等待所有任务完成
- Maven依赖Servlet 3.0 API?
- 如何在IntelliJ IDEA中添加目录到应用程序运行概要文件中的类路径?
- getter和setter是糟糕的设计吗?相互矛盾的建议