第一种:

config.properties:

index.version=v1
spring配置文件,加载config.properties:

<!-- 获取properties中的值 -->
	<bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
		<property name="locations">
			<list>
				<value>classpath:config.properties</value>
			</list>
		</property>
	</bean>
 
	<!-- Spring的动态变量,能在bean中直接调用 -->
	<bean id="propertyPlaceholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="properties" ref="configProperties" />
	</bean>

注入使用:

@Value("#{configProperties['index.version']}")
	public String version;

第二种:

config.properties:

index.version=v1
添加一个java bean用于读取properties文件中的配置:

@Component("config")
public class Config {
 
    @Value("${index.version}")
    public String indexVersion;
 
    public String getIndexVersion() {
        return indexVersion;
    }
 
    public void setIndexVersion(String indexVersion) {
        this.indexVersion = indexVersion;
    }
}

spring配置文件添加注解扫描:

<context:annotation-config />
<context:component-scan base-package="com.***.config"/>

spring配置加载properties:

<context:property-placeholder location="classpath:config.properties"/>

注入使用:

@Value("#{config.indexVersion}")
public String version;

补充:

还有一种方式,就是普通的加载使用方式,没有用到SpEL,我们看看这种方式。

这种方式的配置文件内容要变一下了,不能再是index.version=v1这种形式,要改为version=v1或者index-version=v1,因为带有(.)的这种形式会导致报错。

这时的spring配置:

<util:properties id="config" location="classpath:config.properties"/>

用法:

@Value("#{config.version}")
public String version;

参考:

http://blog.csdn.net/yh_zeng2/article/details/76222905
http://blog.csdn.net/sunhuwh/article/details/38945445
https://blog.csdn.net/earthhour/article/details/79603100