问题标签 [spring-boot-configuration]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 外部属性 Spring boot
我正在尝试让我的 Spring Boot 项目使用在项目之外定义的属性。我已经尝试了文档中描述的步骤,但我无法让它工作。
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html
我将它用于 VM 选项:-Dspring.config.location=file:../properties/
但它不起作用。我尝试了多个值spring.config.location
但没有成功(我想问题来自这里)。
spring-boot - Spring Cloud Config Config Server - 多个实例之间的同步
假设我已经开始使用 spring-cloud-config-server 并让它工作(在后台使用 git 存储库)。所以现在我将在集群(mesos 集群或 AWS 云等)上部署该配置服务器
所以为了可靠性等。我想在一个集群中启动两个相同的配置服务实例。通过使用服务注册表,所有其他服务现在都可以连接到该配置服务器并获取它们的配置。
但问题是:如何处理这些配置服务器之间的同步...例如,如果我更改了 git 存储库中的配置,现在两个实例之间缺少时间,将提供完全相同的信息...
是否有解决方案?某种木筏普查协议/设置等?或者是否有唯一的解决方案不使用 spring-config-server 而使用 etcd 或其他解决方案?
更新: 为 git 存储库创建一个预先更新选项可能是一个选项。这确保获得具有性能缺陷的最新状态。
java - 在 Spring Boot 中管理公共微服务中的属性文件
目前我正在从事 Spring Boot 微服务项目。考虑我有 3 个名为 A、B、C 的微服务。现在我的项目为每个微服务分别有 application.yml 文件。现在我想再添加一个微服务 D,用于管理所有服务属性文件。
查看我的配置服务结构
eureka.yml(内部配置服务)文件是:
在 eureka-service bootstrap.properties 是:
配置服务应用程序属性:
我的配置应用程序文件是:
我做了以下步骤:
- 启动配置服务
- 启动尤里卡服务
不幸的是,尤里卡服务器出错。
问题是在运行尤里卡服务器时,它没有查看配置服务中的配置文件......
帮我解决这个问题。或者代替微服务,我该如何使用文件夹?
git - Spring Cloud Config Server 使用 Git 的 SSH 密钥并在 Docker 中运行
在最终将它们放在一起之前,我发现了许多问题和教程。想要记录它,以便其他人可以节省数小时的挫败感。
我正在尝试在 BitBucket 上获取一个私有 git 存储库,以使用部署密钥与 Spring Boot Config Server 一起使用,并让它在 Docker 中运行。我遇到了很多问题。
- 如何使用 application.yml 文件进行实际配置。
我似乎无法弄清楚我应该把 SSH 信息放在哪里。所有教程似乎都是针对 https 的。
- 如何为配置提供私钥。对于 Dev 来说,YML 中的内联语法很痛苦。对于生产,您必须通过环境变量提供它,这是另一个语法苦差事。
我不断收到私钥无效的错误消息。
- 如何让 Docker 容器信任主机密钥,而不会出现讨厌的“你信任这个人”提示。
似乎有几种方法可以使这项工作,但只有一种对我有用。
java - Spring Boot 多模块测试自动装配
我有一个具有结构的多模块项目:
应用类:
与存储库
和存储库测试
现在,当我运行此测试时,出现错误:
找不到@SpringBootConfiguration,您需要在测试中使用@ContextConfiguration 或@SpringBootTest(classes=...)
当我的存储库模块中有 Application 类时,这不会出现,但我需要将它们分开。让它发挥作用的最佳方法是什么?
如果它有助于我的 Spring 依赖项是:
使用插件org.springframework.boot:spring-boot-gradle-plugin:1.5.8.RELEASE
java - 我可以使用@ConditionalOnExpression 检查注释的属性值吗?
我想要一个注释,它将根据属性的值引入不同的配置类。它可能会像这样工作:
(所有这些都是伪代码)
注释:
配置之一的示例:
CacheAnnotationMatcher.checkProperty
我创建的类和方法在哪里找到@EnableCaching
注释并检查cacheType
属性并返回真/假。
maven - Spring Boot:使用 Maven 和特定 Maven 配置文件的自动属性扩展不起作用
我正在尝试使用72.1.1 Automatic property expansion using Maven,如使用不同 Maven 配置文件的文档中指定的那样,但我无法使其与特定配置文件一起使用。
我有以下内容pom.xml
:
这非常简单application.properties
:
我使用 Spring Tool Suite 运行 maven 构建,目标如下:
构建成功,但application.properties
目标文件夹中仍包含未解析的@...@
占位符。
如果我在两个配置文件之一的 pom.xml 中添加这个简单的行:
占位符已正确解析。
这个配置有什么问题?
spring-boot - Spring Boot 常用应用属性
当我们使用像 cassandra/mongo 这样的任何数据库时,Spring Boot 应用程序属性需要遵循https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html的约定。如果我们想声明我们自己的数据库设置属性而不是 spring-boot 约定,那么设置数据库需要执行哪些步骤?
java - 如何从 Spring Boot Config Server 提供的其他属性文件中的 application.properties 获取密钥?
集中配置的 Spring 官方教程(https://spring.io/guides/gs/centralized-configuration/)说:
它还将发送来自 Git 存储库中任何名为 application.properties 或 application.yml 的文件的所有值。
我想在特定属性文件中使用该文件中的一些属性a-bootiful-client.properties
。
可能吗?我试过了,但占位符对我不起作用。
key1=val1
例如,我在 application.properties 文件中有一个键值对。然后在a-bootiful-client.properties
文件中,我尝试将该密钥作为another.key=${key1}-extraVal
.
谢谢
java - 为什么在 Spring Boot 中超类上的 @Bean 泛型创建方法比子类上的方法调用晚?
我有一个创建 bean 的 Spring Boot 基础抽象配置类。如果我从它继承,bean 将在我的控制器之后创建(它需要自动连接它,因此失败)。注意:它确实是在控制器之后创建的。所以它不能自动连接,但必须通过appContext.getBean( BeanType.class )
如果我改为覆盖子类中的 bean 方法,那么它会在控制器之前创建,并且可以自动连接。
我该如何解决这个问题并使超类 bean 定义与子类同时加载?