Spring -> 配置加载指定properties文件

  • Post author:
  • Post category:其他



PropertyPlaceholderConfigurer

类的作用是加载外部的java Properties文件属性。

然后在XML文件中用

${key}

替换指定的properties文件中的值。这样的话,只需要对properties文件进 行修改,而不用对xml配置文件进行修改。

假设在外部添加了jdbc.properties,内容为

jdbc.driverClassName = com.mysql.cj.jdbc.Driver
jdbc.url = jdbc:mysql://localhost/db
jdbc.username = root
jdbc.password = root

我们可以在配置文件中加载外部的properties文件

<bean id="propertyConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location">
        <!-- 可引入多个配置文件 -->
        <list>
            <value>/WEB-INF/mail.properties</value>
            <value>classpath:conf/jdbc.properties</value>
        </list>
    </property>
    <!-- 还可以指定外部文件的编码格式 -->
    <property name="fileEncoding">
        <value>UTF-8</value>
    </property>
</bean>

加载完毕后,就可以采用${}直接使用mail.properties和jdbc.properties中定义的属性了

比如:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
  <property name="driverClassName" value="${jdbc.driverClassName}" />
  <property name="url" value="${jdbc.url}" />
  <property name="username" value="${jdbc.username}"/>
  <property name="password" value="${jdbc.password}" />
</bean>