第一种:
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