如何使用sts在spring中设置classpath下的属性文件

时间:2014-01-13 18:19:54

标签: spring-mvc properties spring-data

我正在学习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:春天做了什么) 感谢!!!

1 个答案:

答案 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配置教程。不过,他们可能有点过时了。