Spring - 从属性文件中检索值

时间:2011-04-08 09:06:41

标签: spring properties

我的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文件中读取值?

2 个答案:

答案 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注入您的类