我在加载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>
通过marshaller加载
try {
FileInputStream fis = new FileInputStream(getAppContextFile());
try {
return (Beans) JAXBUtil.getUnmarshaller().unmarshal(fis);
} finally {
fis.close();
}
在Beans中,对于bean webServer端口而言,我获得的价值为$ {tm.weberver.port},而不是它的确切值。提供8443端口。
答案 0 :(得分:1)
您发布了一个没有任何端口号属性的属性文件,一个使用${tm.web.port}
的上下文文件,并且您的文字显示您正在使用${tm.weberver.port}
。
我看到你错误的三个可能的地方。假设您实际上正在设置其他属性。如果没有,请参阅Andrey的评论。
答案 1 :(得分:1)
您无需从ApplicationContext.xml中明确加载bean。
确保存在以下内容: