Spring使⽤SpEL表达式读取properties配置⽂件的两种⽅式第⼀种:
舒马赫现在状态怎么样
config.properties:
index.version=v1
spring配置⽂件,加载config.properties:胡宇威
<!-- 获取properties中的值 -->
<bean id="configProperties" class="org.springframework.fig.PropertiesFactoryBean">
<property name="locations">
<list>
<value>classpath:config.properties</value>
</list>
</property>
</bean>
<!-- Spring的动态变量,能在bean中直接调⽤ -->
<bean id="propertyPlaceholderConfigurer" class="org.springframework.fig.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;
参考:
blog.csdn/yh_zeng2/article/details/76222905
blog.csdn/sunhuwh/article/details/38945445