SpringBoot读取properties文件配置项过程解析

 更新时间:2020年06月19日 11:58:31   作者:哒哒Da  
这篇文章主要介绍了SpringBoot读取properties文件配置项过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

使用SpringBoot开发过程中,难免需要配置相关数据项,然后在Java代码中@Autowired注入并使用。

我们应该如何读取properties文件中的配置项呢?

基于SpringBoot项目,配置项一般都存放在application.properties文件中。有2种常用的方法:

1.使用@Value注解标注在Field上面

2.使用@ConfigurationProperties注解标注在类或者方法上

为了讲解方便,附上application.properties文件配置好的数据项

如下图所示:

我们可以看到1~3行的配置项,有一个共同的特点:有相同的前缀spring.datasource,既然具备这个特点,那么我们就可以定义一个class,里面有3个fields:userName、password和url。

然后在类上使用@ConfigurationProperties标注并指定前缀spring.datasource即可。最后,且非常重要的是,SpringBoot的主入口类 XxxApplication类需要使用@EnableAutoConfiguration进行标注(在SpringBoot 2.x可省略)!

下面附上示例:

@ConfigurationProperties(prefix = "spring.datasource")
public class DataSourceProperties {
 private String userName;
 private String password;
 private String url;
}

那么,类似第5行的 web.upload.path配置项,又应该如何读取呢?

其实,我们可以使用@Value完成属性值注入field。参见以下代码块:

@Value("${web.upload.path}")
private String webUploadPath;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • java算法之余弦相似度计算字符串相似率

    java算法之余弦相似度计算字符串相似率

    这篇文章主要介绍了java算法之余弦相似度计算字符串相似率,对算法感兴趣的同学,可以参考下
    2021-05-05
  • SpringBoot中的@RequestMapping注解的用法示例

    SpringBoot中的@RequestMapping注解的用法示例

    @RequestMapping注解是SpringBoot中最常用的注解之一,它可以帮助开发者定义和处理HTTP请求,本篇文章我们将详细为大家介绍如何使用SpringBoot中的@RequestMapping注解,感兴趣的同学跟着小编一起来学习吧
    2023-06-06
  • SpringBoot快速搭建实现三步骤解析

    SpringBoot快速搭建实现三步骤解析

    这篇文章主要介绍了SpringBoot快速搭建实现三步骤解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • Java超详细介绍封装与访问控制修符

    Java超详细介绍封装与访问控制修符

    封装是一个非常广泛的概念,小到一个属性的封装,大到一个框架或者一个项目的封装,文中通过实例代码将详细介绍封装与访问控制修饰符
    2022-05-05
  • 浅谈Redis的key和value大小限制

    浅谈Redis的key和value大小限制

    这篇文章主要介绍了浅谈Redis的key和value大小限制,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 基于springBoot配置文件properties和yml中数组的写法

    基于springBoot配置文件properties和yml中数组的写法

    这篇文章主要介绍了springBoot配置文件properties和yml中数组的写法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Java中关于size()>0 和isEmpt()的性能考量

    Java中关于size()>0 和isEmpt()的性能考量

    这篇文章主要介绍了Java中关于size()>0 和isEmpt()性能考量,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Java基于drools做规则校验的实现

    Java基于drools做规则校验的实现

    工作中需要开发一个规则服务,提供各种规则,本文主要介绍了Java基于drools做规则校验的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • Java中关键字final finally finalize的区别介绍

    Java中关键字final finally finalize的区别介绍

    这篇文章主要给大家分享的是 Java中final,finally,finalize 到底有什么区别,文章围绕final,finally,finalize的相关资料展开详细内容,具有一定的参考的价值,需要的朋友可以参考一下
    2022-04-04
  • 情人节写给女朋友Java Swing代码程序

    情人节写给女朋友Java Swing代码程序

    这篇文章主要为大家分享了情人节写给女朋友的java小程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,祝大家每天都是情人节
    2018-02-02

最新评论