springboot外部配置-配置文件的具体配置
根据Springboot文档,配置顺序为: 包装jar(应用程序 - {profile} .properties和yaml变体)之外的特定特定应用程序属性 jar内包装包装的特定特定应用程序属性(application- {profile} .properties和yaml变体) 包装JAR之外的应用程序属性(Application.properties和Yaml变体). jar内包装的应用程序属性(application.properties and yaml变体). 在我的项目上,我有一个名为" prod"的个人资料和以下文件: application.yml(jar内) application-prod.yml(jar内部) 我还想使用外部文件覆盖一些属性.由于根据文档,内部application-prod.yml将覆盖外部application.yml,因此我需要确保外部文件被视为profile specific config文件. 我尝
20 2023-12-25
编程技术问答社区
使用SSH密钥的Git和运行在Docker中的Spring Cloud配置服务器
我找到了许多问题和教程,然后才最终将所有问题放在一起.想要记录下来,以便其他人可以节省很多小时的挫败感. 我试图在Bitbucket上获得一个私人Git存储库,以使用Deploy Keys使用Spring Boot Config Server,并将其运行在Docker中.我遇到了许多问题. 如何使用application.yml文件实际配置. 我似乎无法弄清楚我应该在哪里放置SSH信息.所有教程似乎都适用于HTTP. 如何提供配置的私钥.对于开发语法,yml中的内联语法是一种痛苦.对于生产,您必须通过环境变量提供它,这是另一种语法琐事. 我一直遇到一个错误,即私钥无效. 如何让Docker容器在没有那个讨厌的"您信任这个家伙"提示的情况下信任主机密钥. 似乎有几种方法可以做这项工作,但是只有一种对我有用. 解决方案 第一部分是配置.您需要忽略标准私钥,并将提供的一个作为环境变量. (ssh_key).另外,git repo是EV(git_
42 2023-09-27
编程技术问答社区
Spring Boot服务之间的共享配置(在Git)
我正在开发春季启动服务. 因此,可以说我有3个服务A,B,C,每个服务都有DEV和POD配置文件.现在,我将这些服务的配置保留在git并使用config Server获取配置. 因此,当我以产品模式运行服务时,config file a-prod.properties正在使用. 现在,我想保留一些常见的配置,这些配置将由所有3个服务均为common-prod.properties使用.我应该怎么做? 我尝试了以下方法: 配置服务器: spring: cloud: config: server: git: uri: http://gitPaath/Configs.git username: password: cloneOnStart: true searchPaths: "{co
10 2023-09-13
编程技术问答社区
未分辨的占位符验证弹簧启动配置属性的验证
给出了一些不可辨认的占位符的应用程序配置,例如以下application.yml my: thing: ${missing-placeholder}/whatever 当我使用@Value注释时,配置文件中的占位符已验证,因此在这种情况下: package com.test; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @Component public class PropValues { @Value("${my.thing}") String thing; public String getThing() { return thing; } } 我得到IllegalArgumentException: Could not resolve placeholder 'mis
20 2023-09-12
编程技术问答社区
部署到Docker时外部化Spring Boot属性
在我的Spring Boot应用程序中,我想将属性在Docker容器中运行.首次部署时,应用程序当前my-server/src/main/resources/application.yml中当前的属性将按预期加载和使用.一切都很好. 但是,我的问题是我需要根据需要更新这些属性,因此我需要在Docker容器上访问application.yml文件.但是在这一点上,在运行buildDocker任务之前,它尚未包含在build/docker/目录中,因此在第一次部署后无法复制或可访问. 所以,我尝试的是将yaml文件复制到docker/构建目录中,将其复制到可访问目录(/opt/meanwhileinhell/myapp/conf),然后使用spring.config.location属性将配置的位置传递给我的dockerfile中的罐子: ENTRYPOINT ["java",\ ... "-jar", "/app.jar",\ "--spring.config.loca
20 2023-09-12
编程技术问答社区
如何在Spring boot 2.1.0的启动配置中把spring.main.allow-bean-definition-overriding设置为true?
我维护了一个 spring-boot-starter 来定制返回的错误属性,例如,一个未知的端点被调用.这是通过覆盖 org.springframework.boot.web.servlet.error.ErrorAttributes bean 来完成的. 2.0.6 一切正常,但 2.1.0 默认禁用 bean 覆盖,导致启动器现在失败并显示以下消息. 类中定义的名称为“errorAttributes"的无效 bean 定义路径资源[com/mycompany/springboot/starter/config/ErrorsConfig.class]:不能注册bean定义[根bean:类[null];范围=;摘要=假;懒惰初始化=假;自动线模式=3;依赖检查=0;自动接线候选=真;主要=假;factoryBeanName=com.mycompany.springboot.starter.config.ErrorsConfig;factoryMethodName=errorA
4248 2022-08-15
编程技术问答社区