Spring Springboot取值

Spring中

配置文件
//单一配置文件
<context:property-placeholder location="classpath:jdbc.properties"/>
//使用通配符“*”配置多个文件,个人比较倾向于通配符的写法:
<context:property-placeholder location="classpath:conf/*.properties" />
//加载多个配置文件通常还有如下的写法
<bean id="propertyResources" class="java.util.ArrayList">  
  <constructor-arg>  
    <list>  
      <!-- 这里支持多种寻址方式:classpath和file -->  
      <value>classpath:/opt/demo/config/demo-db.properties</value>  
      <!-- 推荐使用file的方式引入,这样可以将配置和代码分离 -->  
      <value>file:/opt/demo/config/demo-mq.properties</value>  
      <value>file:/opt/demo/config/demo-remote.properties</value>  
    </list>  
   </constructor-arg>  
</bean>
@Value注解读取properties文件配置的值,再给字段赋值
@Value的值有三种类型,#{} 、${} 和 #{'${}'} ,其实是#{}和${}这两种类型,#{'${}'} 这种是前两种的嵌套
1  #{expression?:default value}
SpEL都是#{}的格式 
expression 指的是 SpEl表达式 通常用来获取bean的属性,或者调用bean的某个方法
properties配置文件中的属性名称不能带点,否则取不到值,会报错
比如 prop为spring配置文件中的beanId值
@Value("#{prop.name}")
2  ${property:default value}
${}这种值,只用来读取properties配置文件中的属性值,可以读取带点的属性值

spel表达式相关参考
参考1
参考2

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容