我有一个属性文件,想修改某些属性以包含用户ID(和可能的其他运行时加载的值),类似于以下内容...
emailer.queuename=Emailer.${user}
在读取时,属性值可能变为Emailer.SMITHJ
,我考虑将Properties
类扩展并覆盖getProperty方法
,但我还需要确保在使用PropertyPlaceholderConfigurer
的情况下Spring会相应地修改属性(我发现我可以在此类中覆盖convertPropertyValue
)。
但是否有一种简洁的方法可以同时实现这两个目标?
谢谢
==================================
更新:
在我的情况下,我发现一个简单的解决方案就是使用系统属性(例如${user.name}),由于PropertyPlaceholderConfigurer
类的systemPropertiesMode
设置为fallback
,Spring会自动进行排序。然而,在直接使用属性文件的情况下,我仍需要创建一个继承类,或者将该值注入到使用它的类中。