Spring中@PropertySource和@Value注解详解

 更新时间:2023年11月22日 11:25:39   作者:杜小舟  
这篇文章主要介绍了Spring中@PropertySource和@Value注解详解,@PropertySource注解可以方便和灵活的向Spring的环境容器(org.springframework.core.env.Environment Environment)中注入一些属性,这些属性可以在Bean中使用,需要的朋友可以参考下

前言

本篇文章主要介绍在Spring中想要获取yml或者properties配置文件的配置信息。

@PropertySource 和 @Value 注解属性介绍

@PropertySource 注解

属性名称介绍
value指定配置文件的位置,它是一个字符串数组,可以配置多个配置文件的位置
name属性用于指定属性源的名称
ignoreResourceNotFound用于指定是否忽略未找到的资源
如果设置为 true,那么当指定的配置文件不存在时,将不会抛出异常
默认值是false
encoding指定配置文件的编码

value指定配置文件的位置,它是一个字符串数组,可以配置多个配置文件的位置name属性用于指定属性源的名称ignoreResourceNotFound用于指定是否忽略未找到的资源 如果设置为 true,那么当指定的配置文件不存在时,将不会抛出异常 默认值是falseencoding指定配置文件的编码 @Value 注解 属性名称介绍value用来读取属性值

@Value 注解

属性名称介绍
value用来读取属性值

代码案例

yml配置文件:

user:
  name: "张三"
  age: 18

代码实现如下:

@Component
@ToString
@Setter
@Getter
@PropertySource("classpath:application.yml")
public class UserInfo {

    @Value("${user.name}")
    private String name;

    @Value("${user.age}")
    private int age;
    
}

当没找到配置文件中的属性时如何处理

如果在application.yml配置文件中的user下没有找到name或者age属性,spring会抱一个错,我们可以给一个默认值,来不让spring报错,以下是代码实现:

代码实现如下:

@Component
@ToString
@Setter
@Getter
@PropertySource("classpath:application.yml")
public class UserInfo {

    @Value("${user.name:张三}")
    private String name;

    @Value("${user.age:18}")
    private int age;
    
}

这样,当没有找到name的时候就把默认值设置成张三,没找到age默认值就设置成18。

到此这篇关于Spring中@PropertySource和@Value注解详解的文章就介绍到这了,更多相关@PropertySource和@Value注解内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot整合Sa-Token实现登录认证的示例代码

    SpringBoot整合Sa-Token实现登录认证的示例代码

    本文主要介绍了SpringBoot整合Sa-Token实现登录认证的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • Spring Boot 部署过程解析(jar or war)

    Spring Boot 部署过程解析(jar or war)

    这篇文章主要介绍了Spring Boot 部署过程解析(jar or war),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • java的静态方法调用方式

    java的静态方法调用方式

    这篇文章主要介绍了java的静态方法调用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • Visual Studio Code配置Tomcat运行Java Web项目详细步骤

    Visual Studio Code配置Tomcat运行Java Web项目详细步骤

    VS Code是一款非常棒的文本编辑器,具有配置简单、功能丰富、轻量简洁的特点,并且极其适合处理中小规模的代码,这篇文章主要给大家介绍了关于Visual Studio Code配置Tomcat运行Java Web项目的详细步骤,需要的朋友可以参考下
    2023-11-11
  • Java数据结构之图(动力节点Java学院整理)

    Java数据结构之图(动力节点Java学院整理)

    本文章主要讲解学习如何使用JAVA语言以邻接表的方式实现了数据结构---图(Graph)。对java数据结构之图相关知识感兴趣的朋友一起学习吧
    2017-04-04
  • Java排序算法之桶排序算法解析

    Java排序算法之桶排序算法解析

    这篇文章主要介绍了Java排序算法之桶排序算法解析,桶排序 (Bucket sort)或所谓的箱排序,是一个排序算法,工作原理是将数组分到有限数量的桶子里,每个桶子再个别排序,有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序,需要的朋友可以参考下
    2023-10-10
  • Mybatis-Spring源码分析图解

    Mybatis-Spring源码分析图解

    这篇文章主要介绍了Mybatis-Spring源码分析,本文通过实例代码图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-11-11
  • Java 变量类型及其实例

    Java 变量类型及其实例

    这篇文章主要讲解Java中变量的类型以及实例,希望能给大家做一个参考
    2017-04-04
  • java避免多层嵌套循环用到的一些小技巧分享

    java避免多层嵌套循环用到的一些小技巧分享

    这篇文章主要介绍了java避免多层嵌套循环用到的一些小技巧分享,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Java实现stream的三个常用方式(toMap,groupingBy,findFirst)

    Java实现stream的三个常用方式(toMap,groupingBy,findFirst)

    本文主要介绍了Java实现stream的三个常用方式,主要包括toMap,groupingBy,findFirst,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10

最新评论