Java代码中获取配置文件(config.properties)中内容的两种方法

方法千千万,本人暂时只总结了两种方法。

(1)config.properties中的内容如图

在applicationContext.xml中配置

<!-- 引入配置文件 -->  
<bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
    <property name="locations">
        <list>
              <value>classpath:config.properties</value>
        </list>
    </property>
</bean>

在Controller层中使用springMVC的@Value注解获得配置文件的内容:

@Value("#{configProperties['local']}")
private String localAddress;

在代码中写localAddress即可得到配置文件中local的值。

(2)在applicationContext.xml中配置

<!-- 引入配置文件 -->  
<bean id="configPropertyConfigurer"  
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
        <property name="order" value="2" />  
        <property name="ignoreUnresolvablePlaceholders" value="true" />
        <property name="locations">
        <list> 
            <value>classpath:config.properties</value>
        </list>
    </property>  
</bean>  
  
<!--配置全局变量-->
<bean id="properties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
        <property name="singleton" value="true"/>
        <property name="properties">
              <props>
                      <prop key="csdn.url">${csdn.url}</prop>
              </props>
        </property>
</bean>

在需要用到的类中注入Properties,注意参数必须和配置全局变量的id相同

@Autowired
protected Properties properties;

然后在类中可以通过properties.getProperty("csdn.url")获取配置文件中csdn.url的内容

当然,两种获取参数的方法也可以同时使用,需要在applicationContext.xml中配置

<!-- 引入配置文件 -->  
<bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
    <property name="locations">
        <list>
              <value>classpath:config.properties</value>
        </list>
    </property>
</bean>
    
<bean id="configPropertyConfigurer" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
    <property name="order" value="2" />  
        <property name="ignoreUnresolvablePlaceholders" value="true" />
    <property name="properties" ref="configProperties"/>
</bean>
  
<!--配置全局变量-->
<bean id="properties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
        <property name="singleton" value="true"/>
        <property name="properties">
              <props>
                      <prop key="csdn.url">${csdn.url}</prop>
              </props>
        </property>
</bean>
原文地址:https://www.cnblogs.com/aqsunkai/p/6690619.html