开发者

Spring中@PropertySource和@Value注解详解

开发者 https://www.devze.com 2023-11-24 10:21 出处:网络 作者: 杜小舟
目录前言@PropertySource 和 @Value 注解属性介绍@PropertySource 注解@Value 注解代码案例前言
目录
  • 前言
  • @PropertySource 和 @Value 注解属性介绍
    • @PropertySource 注解
    • @Value 注解
  • 代码案例

    前言

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

    @PropertySource 和 @Value 注解属性介绍

    @PropertySvSRwlKource 注解

    属性名称介绍
    value指定配置文件的位置,它是一个字符串数组,可以配置多个配置文件的位置
    name属性用于指定属性源的名称
    ignoreResourceNotFound用于指定是否忽略未找到的资源

    如果设置为 true,那么当指定的配置文件不存在时,将不会抛出异常

    默认值是false

    encoding指定配置文件的编码

    value指定配置文件的位置,它是一个字符串数组,可以配置多个配置文件的位置name属性用于指定属性源的名称ignoreResourceNotFound用于指定是www.devze.com否忽略未找到的资源 如果设置为 true,那么当指定的配置文件不存在时,将不会抛出异常 默认值是falseencodi编程客栈ng指定配置文件的编码 @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
    @PrpythonopertySource("classpath:application.yml")
    public class UserInfo {
    
        @Value("${user.name:张三}")
        private String name;
    
        @Value("${user.age:18}")
        private int age;
       http://www.devze.com 
    }
    

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

    到此这篇关于Spring中@PropertySource和@Value注解详解的文章就介绍到这了,更多相关@PropertySource和@Value注解内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消