java 如何在我的spring-beans.xml中动态地从属性文件中读取值[关闭]

9nvpjoqh  于 5个月前  发布在  Java
关注(0)|答案(1)|浏览(64)

已关闭。此问题需要details or clarity。目前不接受回答。
**要改进此问题吗?**通过editing this post添加详细信息并阐明问题。

9天前关闭
Improve this question
我在pom.xml中有一个instance的值,它是在运行时由用户接收的。我想在我的spring-bean.xml中使用这个值。通过使用这个值,我想在我的属性文件中附加并找到它对应的值。
下面是我的属性文件的结构:

A的触发码

instance.a.autoheld.manualpass-SSC-02
instance.a. autoholded.manualfailreject=SSC-05
示例.a.自动保持.手动故障设置-SSC-04
a.autopass=SSC-01
instance.a. autoholded = SSC-示例.a.discard=SSC
示例编号错误=SSC-07

D触发代码

instance.d. autoholded.manualpass=SSC-02
instance.d. autoholded.manualfailreject=SSC-05
instance.d. autoholded.manualfailsettle=SSC-04
instance.d.autopass-SSC-03
instance.d. autoholded =SSC-01
instance.d.discard=SSC-06
示例数据编号错误=SSC-07
A和D的值由用户在运行时传递,并在instanceName中的pom.xml中接收。我想在spring-bean.xml文件中使用这些触发器代码值。
< bean id="nrTriggerCodes" class="com.cls.tools.nrbypass.utils.TriggerCodes"/>
< entry key="HELD_MANNUAL_PASS" value="${instance.${instanceName}.autoheld.manualpass}" />
我无法使用上述代码从属性文件中获取相应的值。获取错误为:无法解析值“${instance.${instanceName}. autohold}”中的占位符“instance.a. autohold”

ryhaxcpt

ryhaxcpt1#

我对spring-bean.xml文件没有任何经验。但当我查看您的xml代码时,我发现了一些问题:
1.第二个条目元素(HELD_MANNUAL_PASS)中缺少结束单引号
1.您一直使用不同类型的括号来打开和关闭占位符。例如,圆括号打开和方括号关闭。
1.有时属性名的后缀中缺少前导点(“. autoholded”vs“autohold. manualpass”)
1.在DISCARD元素中,属性名称后缀中有一个空格('BLOG')
我已经尝试清理xml文件。但不幸的是,我无法测试这是否有效:

<bean id="nrTriggerCodes" class="com.cls.tools.nrbypass.utils.TriggerCodes">
    <property name="triggerCodes">
        <map>
            <entry key="HELD" value="#{'instance.'+${instanceName}+'.autoheld'}" />
            <entry key="HELD_MANNUAL_PASS" value="#{'instance.'+${instanceName}+'autoheld.manualpass'}" />
            <entry key="HELD MANNUAL_FAIL_REJECT" value="#{'instance.'+${instanceName}+'.autoheld.manualfailreject'}" />
            <entry key="HELD_MANNUAL_FAIL_SETTLE" value="#{'instance.'+${instanceName}+'.autoheld.manualfailsettle'}" />
            <entry key="NETREVEAL_ERROR" value="#{'instance.'+${instanceName}+'.nr.error')" />
            <entry key="DISCARD" value="#{'instance.'+${instanceName}+'.discard'}" />
            <entry key="AUTOPASS" value="#{'instance.'+${instanceName}+'.autopass'}" />
        </map>
    </property>
</bean>

字符串

相关问题