我正在学习spring并尝试从属性文件中理解检索值。
我正在尝试以下方式试用一些样本
<util:properties id="spelProp" location="classpath:/META-INF/spelProperties.properties"></util:properties>
其中spelProperties.properties的内容为
spelTeacher.firstName="First name from Properties"
spelTeacher.lastName="Last name from properties"
我尝试访问lastName以便设置一个bean属性,如
<bean id="spelTeacher3Xml" class="com.learningweb.Service.SpelSampleTeacher">
<property name="lastName" value="#{spelProp[spelTeacher.lastName]}" />
</bean>
当我尝试使用STS运行时 我收到一个错误 “/ META-INF/spelProperties.properties”不存在。
有人可以帮我理解这里有什么问题。 我是否错过了配置classpath或任何Spring框架相关设置的任何项目?
感谢您的帮助 (另外任何参考理解“classpath:”都会有所帮助。我试图搜索但我正在寻找正确的材料。我想了解classpath:春天做了什么) 感谢!!!
答案 0 :(得分:3)
你可能想尝试这样的事情:
<bean id="propertyPlaceholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:/META-INF/spelProperties.properties</value>
</list>
</property>
</bean>
或
<context:annotation-config/>
<context:property-placeholder location="classpath*:*.properties" />
然后在spelTeacher3Xml中访问它,如:value="${spelTeacher.lastName}"
根据您的Spring版本,检查PropertyPlaceholderConfigurer的API或其他一些更专业的版本。
This guys site有很多基本的Spring配置教程。不过,他们可能有点过时了。