问题标签 [property-placeholder]

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 投票
0 回答
242 浏览

spring - 是否可以在 spring-boot application.yaml 或 properties 中使用占位符 ${} 作为属性 KEY

我想知道是否可以不仅在值中使用占位符替换,还可以在弹簧引导application.yaml(或.properties)中使用占位符替换。

例如:

工作就像一种魅力,这里没什么特别的。但是,如果我还需要从“占位符”中获取“我的资源”怎么办?那可能吗?

已经尝试过不同的方法,例如:

或者

但是一切都只产生变量名作为键。

0 投票
2 回答
293 浏览

spring-boot - SpringBoot - 属性占位符配置不适用于@Service 注释

我正在尝试使用属性占位符值定义服务 bean 名称。但是得到错误说没有找到特定名称的bean。我知道问题在于读取属性值,因为在硬编码值时它正在工作。请帮忙,因为我需要从属性文件中读取值。下面的代码片段:

应用程序属性

服务等级

此外,为了确认属性值读取正确,我尝试使用@Value("${event.testRequest}") private String value我得到值“TEST_REQUEST”的位置,如预期的那样。不确定如何将其与 @Service 注释一起使用。

编辑: 为了详细说明外部化服务 bean 名称的需要,我使用工厂模式来获取基于事件名称(事件名称,例如 Event1、Event2 ..)的实现。如果事件名称发生更改,则更改将仅发生在属性文件上,而不是使用属性占位符的服务 bean 名称。

这里DefaultExecutionService有不同的实现,如下所示..

所以基本上将来如果Event1名称更新为EventOne,我只需要更新属性文件,而不是服务类。

非常感谢任何帮助!谢谢!

0 投票
0 回答
25 浏览

maven - 启用命名空间时,Maven Log4J IDREF 必须是 NCName

在我的 Maven 项目中,我使用 log4J 框架,在开发环境中使用时,我使用附加程序“stdout”,当我在 PRD 上部署时,我使用附加程序“A1”。为了不重复文件,我有以下配置: log4j.xml

在 pox.xml 文件中进行以下配置:

但在我的 Eclipse 中,在 log4j.xml 文件中指示以下错误

启用命名空间时,IDREF 类型的属性值“${log4j.appender}”必须是 NCName。

我读到这与 IDREF 类型的属性不能以 $ 字符开头的事实有关,但是我如何在该属性中使用属性?

提前致谢。此致

0 投票
0 回答
22 浏览

java - 解析属性占位符之前的Spring回调?

在我的 Springorg.springframework.context.annotation.@Configuration中,我想在解析属性占位符之前访问一些 bean。

是否有回调或钩子进入这个执行点?

0 投票
0 回答
19 浏览

encryption - 如何通过cm发送解密密码:蓝图中的占位符

我有一个使用propertplaceholder 类的自定义解密逻辑。但现在我正在迁移 jboss fuse 7 并将 spring xmls 转换为蓝图。那么任何人都可以让我知道如何将解密的密码传递给蓝图 xml 中的 Amqconnection。