问题标签 [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.

0 投票
1 回答
277 浏览

junit - @Value 在 Jenkins 的集成测试中不起作用 [Maven 万无一失]


我已经测试用例结构如下。我们正在使用 Jenkins 上的 maven surefire 插件触发 TestSuite.java。

测试套件类:

我在 src/test/resources 下有我的属性文件,但是在 Jenkins @Value 上运行测试用例时没有被注入。因此测试用例失败。

测试用例在本地 Eclipse 上运行良好。

请求帮助以了解这里到底出了什么问题。

0 投票
1 回答
2119 浏览

java - 使用 spring.config.location 命令行参数时为 Spring 的 @PropertySource 设置什么?

我已经定义了一个@Config像这样的类:

我通过包含以下内容来运行我的程序:

问题是我不能省略 PropertySource 注释的“值”属性。为什么需要设置它?这会覆盖我设置的内容--spring.config.location吗?我应该使用SimpleCommandLinePropertySource而不是--spring.config.location吗?

0 投票
0 回答
154 浏览

spring-boot - 使用 Spring Boot 配置文件打开/关闭方法注释

我想知道是否有一种方法可以仅为特定的弹簧引导配置文件定义和使用注释。假设我有一个定义foo了注释的方法类'@Bar'

我想'@Bar()'仅为特定配置文件(生产)定义注释(可从第三个库中获得)。当配置文件“dev”处于活动状态时,我想跳过它。

0 投票
1 回答
146 浏览

spring - 填充地图使用环境 Spring 中的整个 .property 文件

我有这个 myProperties.properties 文件,内容如下:

我的问题是如何填充或注入 a Map<String,String>- enum1..4 作为键和 1..d 作为环境变量中的值的所有属性值。

谢谢你的帮助。

0 投票
1 回答
328 浏览

java - Spring PropertiesFactoryBean 通配符扩展不起作用

我正在尝试使用 PropertiesFactoryBean 加载以.prop某个目录结尾的所有文件。

当将此作为 Junit 测试运行时,一切工作正常并org.springframework.core.io.support.PropertiesLoaderSupport#loadProperties获取所有文件的列表(通配符扩展)FileSystemResource 并加载它们。

但是,当在 OSGI 环境(Karaf)中运行时,路径设置为无效,当然PropertiesLoaderSupport#loadProperties会变得单一。OsgiBundleResource/etc/app/*.prop

0 投票
1 回答
230 浏览

java - 如何在普通的 Spring 应用程序中拖入并执行 Spring Boot 注解?

我有一个项目(这将用作依赖项),它使用 SpringBoot 并以下列方式从 queues.properties 文件中填充 POJO:

通过在其类路径上具有“queues.properties”文件的父 SpringBoot 项目中拖动此依赖项,QueuesConfig 对象将填充正确的值。

我目前正在尝试通过在 Plain Spring 项目中使用此依赖项来实现相同的行为。我可以确认 PropertySource 注释被“执行”并且 queues.properties 文件是 StandardServletEnvironment 的一部分(作为 propertySourceList 中的一个条目)。

问题是“ConfigurationPropertiesBindingPostProcessor”bean 没有被注册(不是 singletonObjects 的一部分),因此应该填充 POJO 的代码没有被执行。

有什么解决方法吗?

非常感谢 !

0 投票
1 回答
1406 浏览

java - Spring - 是否可以在属性文件中递归解析属性(例如环境变量)?

我正在使用@PropertySourcePropertySourcesPlaceholderConfigurer加载我的属性文件:

app.properties中,我想拥有:

在这里,数据库的端口要么从属性解析db-port,要么默认为 5432。

-Ddb-port=9876这将允许我在必要时使用该标志生成我的应用程序。如果未设置此标志,app.properties则应采用写入的默认端口。

0 投票
1 回答
925 浏览

java - Spring - 如何在不枚举所有必需属性的情况下获取属性文件的子集

我正在加载我的属性文件,如下所示:

在属性文件中,我有几个与数据库相关的属性:

笔记:

  • ${db-port}应替换为属性/环境变量的值db-port或 5432。在我的情况下,我在db-port生成 Tomcat 容器时定义环境变量。

  • 所有与数据库相关的属性都分组在database.根目录下。这是故意的,见下文。

我想避免我必须在我的代码中枚举/硬编码所有可能的与数据库相关的属性。幸运的是,正在使用的数据库层(Hikari)有一个很好的特性,我可以通过java.util.Properties. 所以,我想检索下所有定义的属性,database.*然后简单地将其转发给 Hikari。

为此,我编写了以下实用程序:

现在,当调用 时get("database."),我拥有属性文件中定义的所有与数据库相关的属性。伟大的!但是,dataSource.url现在房产的价值是

代替

因此,由于某种原因,${db-port:5432}通过这条路线 ( ) 时未解决 (还没有?ConfigurableEnvironment)。

如何解决这个问题?或者有没有更好的方法来获取某个根下的所有属性,而不必将它们枚举/硬编码到代码中?

请注意,在默认情况下,正确解析了${db-port:5432}in 属性。database.dataSource.url=jdbc:postgresql://localhost:${db-port:5432}/mydb我通过定义以下成员并记录它来测试它:

0 投票
1 回答
1142 浏览

spring - Spring Boot: Profiles ignored in PropertySourcesPlaceholderConfigurer loaded file

I have a library that is a Spring Boot project. The library has a library.yml file that contains dev and prod props for its configuration:

library.yml

Another application uses this library and loads the props using:

And its application.yml says to use dev props:

But when I check the value of env, I get "prod". Why?

How can I tell Spring Boot to use the active (e.g. dev) profile props in library.yml?

Note: I prefer to use .yml instead .properties files.

0 投票
2 回答
4450 浏览

java - java - 如何将带有泛型的Type转换为Java中的Class?

我有一个方法对象。

我想Type用泛型提取 return 并将其转换为 aClass以便将此类信息传递给 Spring PropertyResolver