问题标签 [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.
maven - spring maven profile - 根据编译配置文件设置属性文件
我会创建一些像这样的编译配置文件:
- 个人资料名称:dev
- 个人资料名称:测试
- 简介名称:生产
在 src/main/resources 我有 3 个文件夹:
- 开发/文件.properties
- 测试/文件.properties
- 生产/文件.properties
每个文件都包含此属性的不同值:
之后,我会在 Spring 类中设置如下内容:
我能怎么做?
java - Spring绑定应用程序属性图>
我正在尝试将应用程序属性绑定到Map<MyEnum, List<CustomObject>>
Spring 中的 a 。
我知道地图的以下绑定:
分别创建 aMap<EnumKey, String> keyValueMap
和Map<EnumKey, List<String>> keyListValueMap
.
正如标题所说,我试图完成的是一个 map Map<MyEnum, List<CustomObject>>
,其中CustomObject
具有多个属性,包括 a Set
。
java - Spring(非引导)从多个项目加载多个 yml 文件
所以我已经阅读了关于如何配置 Spring boot 以了解更多的 yml 文件application.yml
以及如何包含这些文件的文章 - 甚至来自子项目。然而,很难找到描述“纯” Spring 相同的文章。但是我认为我正朝着正确的方向前进,我只是无法恢复我的配置值。
这是一个直接的多项目 gradle 构建 - 为简单起见 - 两个项目。一个项目是“主要”春季项目 - 即。Spring Context 在这个项目中被初始化。另一个是带有一些数据库实体和数据源配置的“支持”模块。我们使用基于注释的配置。
我希望能够在支持模块中定义一组配置属性,并根据激活的弹簧配置文件,相应地加载数据源配置。
这篇SA 帖子让我非常关注不同答案中的不同链接,并由此构成了我的解决方案。结构和代码如下:
通过使用PropertiesConfiguration.groovy
添加:datasource.yml
PropertySourcesPlaceholderConfigurer
然后Datasource.groovy
应该使用(代码减少可读性)基于弹簧轮廓读取值:
env.getProperty
返回空值。无论何种弹簧轮廓处于活动状态。我可以使用 @Value 注释访问配置值,但是不尊重活动配置文件,即使没有为该配置文件定义它也会返回一个值。我的 yml 看起来(东西)是这样的:
我可以从 Application.groovy 使用调试器检查我的 ApplicationContext 并确认我的PropertySourcesPlaceholderConfigurer
存在并且值已加载。检查applicationContext.environment.propertySources
它不存在。
我错过了什么?
spring - 在 JDBI 声明式 API 中使用 spring 属性配置 SQL 查询
我希望能够从 spring 属性配置我的数据库表/列名称。我通过声明性 API 使用 JDBI 进行数据访问。我的代码示例目前如下所示:
我想使用属性而不是此处定义的常量,类似于String TABLE_NAME = "${myConfig.table.user.name}";
. 但是,我无法在网上找到任何关于这是否真的可以做到的信息。我有一种预感,这是不可能的,但为了确定我决定问一下,也许有人对此了解更多。任何建议将不胜感激!
java - @Profile 在没有 Spring Boot 的情况下不起作用(-Dspring.profiles.active 与 maven)
在没有 Spring Boot 的情况下,我无法@Profile
使用 Maven 进行工作。在 pom.xml 中,我定义了 maven 配置文件(“env”和“dev”,这也是默认的)。
不幸的是,每当我尝试使用以下方式构建项目时:
始终应用“默认”配置文件(在 Spring - maven 应用“env”用于 maven 目的)。我也试图让它与它一起工作System.getProperty("spring.profiles.active")
,System.getenv("spring.profiles.active")
但那些总是返回 null。我认为还值得一提的是,这是非 Web 应用程序。
Beans(读取正确的属性):
Pom.xml:
spring - Spring 5.0.5 @Value 无法解析为正确的类型
我在春季 5 收到以下错误,并且已经阅读了有关此问题的所有帖子,但没有运气。我刚刚重构了应用程序以通过 PropertiesConfig 类而不是 appliationContext.xml 使用 @Configuration 来进行属性占位符定义
引用变量:
混合配置:
属性配置类:
请并感谢您的帮助!
spring - Spring 环境特定属性
我有一个弹簧上下文配置。在此配置中,我有以下属性占位符:
这个想法是,所有属性都设置在 my_prop_file.properties 中,而在其他属性文件中我只覆盖一些(my_prop_file-env1.properties、my_prop_file-env2.properties 等)。这工作正常。问题是当我在启动时省略了 vm 参数 -DenvTarget 。有没有办法默认呢?当未设置该值时,我收到:
spring - Spring @Value 使用通配符
我可以在 Spring 中使用通配符@Value
,如下所示?
我希望上面匹配所有以“key”开头的键。单词
spring - 通过测试应用程序属性访问测试资源下的文件
我在以下文件夹层次结构中有两个文件src/test/resources/folderA/fileA
和src/test/resources/folderA/fileB
. 我从application.properties
被测资源 ( src/test/resources/application.properties
) 中引用了这些文件。参考如下:
不幸的是,这显然不起作用。它打破了以下例外:
我还尝试了以下方法:
他们也没有工作。那么从测试应用程序属性中引用资源文件以便加载属性的适当方法是什么?