问题标签 [spring-properties]
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.
spring - 如何通过在应用程序启动时初始化的属性 bean 提供 Spring 引导属性
我有一个用例,其中我有一些包含属性的类,并在应用程序启动时从外部源初始化现在我希望 Spring Boot 自动配置的 bean 像数据源一样从这些属性类中获取属性。
例子 :
现在这个 bean 将在启动时创建并从外部源获取值。数据源 bean(sql server)的自动配置如何从这个类中获取值,以及如何在数据源之前强制初始化这个 bean。
java - 仅当属性为 false 或未定义时如何加载 bean?
我有一个 bean,只有在属性为 false 或未定义时才应加载。如果我用以下方式注释它:
该属性myFeature1.enable
必须明确设置为false
. 此属性在带注释的类中定义为具有 false 默认值的布尔值@ConfigurationProperties
,但此注释似乎在应用程序启动时处理得太晚,因此必须将myFeature1.enable
属性用作Environment
.
我尝试添加注释:
但@ConditionalOnProperty
不是可重复的注释。
我也尝试过使用@ConditionalOnExpression
但是属性占位符似乎被空字符串以外的东西替换了。
所以我的问题是:仅当属性为假或未定义时如何加载 bean?
java - Spring Boot 属性 vs maven pom 打包标签
我一直面临着弹簧靴和 Maven 的一些问题。
似乎<packaging>pom</packaging>
标签,当添加到 时pom.xml
,不知何故让spring完全不知道父级applications.properties
配置文件。运行时,无论声明的属性如何,spring 仍然会显示横幅和信息级日志记录。为什么会这样?有没有办法将这些属性添加到我的父级,以便所有模块都可以在给定的配置下运行?这会成为反模式吗?
主类:
应用程序属性:
(父)pom.xml:
spring-boot - 如何对自定义 mongo 存储库进行集成测试?
这些是我在项目中所做的以下配置。
存储库代码:
集成测试代码:
这给了我以下错误:-
spring - Spring - 从 IDE 运行测试 - 如何从“application-test.properties”之类的文件中加载测试属性
如何从“application-test.properties”之类的文件中加载测试属性?
该文件存储在 src/test/resources 文件夹中。我也将文件放在所有可能的文件夹中。当作为 Maven 测试运行的一部分运行测试时,一切正常。从(IntelliJ)IDE 运行新的(单个)测试时,每次我收到相同的错误消息:
原因:java.io.FileNotFoundException:类路径资源[application-test.properties]无法打开,因为它不存在
这是测试类:
看来我必须第一次从 Maven 运行测试。这是为什么?
java - 在 Spring 中基于前缀对 YAML 属性进行后处理以从 REST 服务中检索属性
我有一个 Spring Boot 配置 YAML,其中包含类似
我想要做的是添加某种解析器来检测b
表单的值<<X>>
,并将触发从外部休息 api 检索该值以在内存中覆盖 YAML 中的值之前它得到传递给在运行时保存配置的 bean
我尝试使用但失败了,EnvironmentPostProcessor
因为我无法获得实际的属性值,只有属性源,所以我无法对这些值进行后处理。
目前对我@Configuration
有用的是包含字段的bean,a
并且b
在setter中实现一些东西来检测spring试图设置的值是否以开头<<
和结尾>>
如果是这样,用版本覆盖加载到pojo中的内容我从其余的 api 中检索。这并不理想,因为我最终有很多重复
在 Spring 5 中实现这样的事情的正确方法是什么?我知道 spring 属性支持使用语法对其他属性的引用,${a}
因此必须有一些机制已经允许添加自定义占位符解析器
java - 如何根据活动配置文件访问 application-{profile}.properties 文件
我需要访问项目位置之外的 application.properties 文件。我可以使用以下方法实现相同的目的:
现在,我想使用活动配置文件来实现相同的目标。如果开发配置文件处于活动状态,我需要获取 application-dev.properties,如果阶段配置文件处于活动状态,我想获取 application-stage.properties 等等。
我正在使用带有 Spring Boot 1.5.x 的 Windows 平台和 JAVA 8
我尝试在 application.properties 文件中设置活动配置文件。但它不起作用
spring-boot - 在运行时将列表元素添加到 Spring 属性
我有一个application.yml
包含以下内容的文件:
我希望能够在运行时更新或添加新的主题对象。
我尝试了以下方法来更新现有对象:
以及将另一个对象添加到列表中的以下内容:
我通过以下方式访问属性:
WhereTopicConfiguration
只是一个列出了 3 个字段的 POJO。
当我不尝试在运行时修改任何属性对象时,这完全符合我的预期,但是我根本无法更新属性列表。当我尝试更新现有对象时,我得到一个 NPE。当我尝试将新对象添加到列表中时,我得到:
application.yml
我只想知道是否有任何方法可以在运行时更新或添加元素到列表中,这样我的项目的用户如果想要更新此配置就不必进行修改。
spring-boot - 如何从命令行插入其他属性?
我想让 Spring Boot 应用程序作为命令行应用程序运行。
我想提供来自命令行参数并与属性合并的其他属性application.yaml
当我使用Properties
then时application.yaml
被省略。如何合并来自两个来源的属性?
spring - 使用 cloud-starter-config 时,Spring Boot 无法解析 XML 配置中使用的属性
我正在创建一个 Spring Boot 应用程序 A,同时使用注释和 XML 配置以及 config-starter-config 从 config-server 获取应用程序属性。应用程序正在使用 XML beans 文件从导入的模块 B导入其他 beans XML 。
一旦我添加了 spring-cloud-starter-config,应用程序就无法解析模块 B使用的属性。甚至能够从配置服务器正确获取属性。
错误:
osbfsDefaultListableBeanFactory:非惰性FactoryBean类型检查的Bean创建异常:org.springframework.beans.factory.BeanCreationException:创建名称为'connectionName'的bean在URL [jar:file:/C:/Subscriber.jar!/BOOT- INF/lib/IF.jar!/META-INF/jms-config-ref.xml]:init 方法调用失败;嵌套异常是 javax.naming.NoInitialContextException:无法实例化类:${InitialContext} [根异常是 java.lang.ClassNotFoundException:${InitialContext}]
创建设置以在没有spring-cloud-starter-config 的情况下运行应用程序并application.properties
从那时起提供属性时,它可以正常工作。
更新:主 xml 正在使用
@ImportResource("classpath:spring-sub-config.xml")
以及里面的起始内容
我希望这些 bean 解析从配置服务器中提取的属性。任何建议,我们如何使非懒惰 FactoryBean 上的 Bean 创建异常的初始化变得懒惰。PS:我已经尝试过lazy-init="true"
属性。