我的applicationContext.xml中有以下配置:
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:app.properties</value>
</list>
</property>
</bean>
现在,在我的java类中,如何从app.properties文件中读取值?
答案 0 :(得分:24)
使用Spring 3.0,您可以使用@Value注释。
@Component
class MyComponent {
@Value("${valueKey}")
private String valueFromPropertyFile;
}
答案 1 :(得分:9)
实际上,PropertyPlaceholderConfigurer可以使用属性将值注入spring上下文。
示例XML上下文定义:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"><value>${driver}</value></property>
<property name="url"><value>jdbc:${dbname}</value></property>
</bean>`
示例属性文件:
driver=com.mysql.jdbc.Driver
dbname=mysql:mydb
或者您可以创建像
这样的bean<bean name="myBean" value="${some.property.key}" />
然后将此bean注入您的类