0

在加载 bean 时,我得到的是占位符而不是它的属性值。

属性文件

tm.web.keystore.key.password=WaheeD
tm.web.tcp.backlog=1024
tm.web.min.jetty.threads=8
tm.web.max.jetty.threads=25

appcontext.xml 文件

<bean class="com.intel.ssg.mconsole.core.web.WebServer" id="webServer">
    <property name="port" value="${tm.web.port}" />
    <property name="address" value="${tm.web.address}" />
    <property name="warLocation" value="${tm.home}/mconsole.war" />
    <property name="secure" value="${tm.web.secure}" />
    <property name="keystoreLocation" value="${tm.web.keystore.location}" />
    <property name="keystorePassword" value="WaheeD" />
    <property name="keyPassword" value="${tm.web.keystore.key.password}" />
    <property name="tcpBacklog" value="${tm.web.tcp.backlog}" />
    <property name="minJettyThreads" value="${tm.web.min.jetty.threads}" />
    <property name="maxJettyThreads" value="${tm.web.max.jetty.threads}" />
</bean>

通过编组器加载它

 try {
     FileInputStream fis = new FileInputStream(getAppContextFile());
     try {
         return (Beans) JAXBUtil.getUnmarshaller().unmarshal(fis);
     } finally {
         fis.close();
     }

在 Beans 中,对于 bean webServer 端口,我得到的价值是 ${tm.weberver.port},而不是它的确切值。假设是 8443 端口。

4

2 回答 2

1

您发布了一个没有任何端口号属性的属性文件,一个使用 的上下文文件${tm.web.port},并且您的文本说您正在使用${tm.weberver.port}.

我看到三个可能的地方你的错误。这是假设您实际上正在设置其他属性。如果没有,请参阅 Andrey 的评论。

于 2012-07-31T19:44:25.990 回答
1

您不需要从 ApplicationContext.xml 中明确加载 bean。

确保存在以下内容:

于 2012-07-31T19:44:33.767 回答