我在我的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读取值?
在Spring 3.0中,你可以使用@Value注释。
@Component
class MyComponent {
@Value("${valueKey}")
private String valueFromPropertyFile;
}
实际上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}" />
,然后注入到你的类