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面试必备之ArrayList陷阱解析

    Java面试必备之ArrayList陷阱解析

    昨天小枫接到了一个公司的面试电话,其中一道面试题觉得有点意思,在这里和大家一起分享下。面试题是ArrayList如何删除指定元素。乍听很简单的问题,但是如果没有实际踩过坑很容易掉进面试官的陷阱中,我们一起来分析下吧
    2022-02-02
  • Java动态调用类中方法代码

    Java动态调用类中方法代码

    这篇文章主要介绍了Java动态调用类中方法代码,需要的朋友可以参考下
    2014-02-02
  • 解释:int型默认值为0的问题

    解释:int型默认值为0的问题

    这篇文章主要介绍了解释:int型默认值为0的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • TreeSet详解和使用示例_动力节点Java学院整理

    TreeSet详解和使用示例_动力节点Java学院整理

    TreeSet是一个有序的集合,它的作用是提供有序的Set集合。这篇文章主要介绍了TreeSet使用示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Java中keytool的使用

    Java中keytool的使用

    Keytool 是一个JAVA环境下的安全钥匙与证书的管理工具,Keytool将密钥(key)和证书(certificates)存在一个称为keystore 的文件(受密码保护)中,本文重点给大家介绍keytool的使用,感兴趣的朋友一起看看吧
    2022-02-02
  • RocketMQ实现消息分发的步骤

    RocketMQ实现消息分发的步骤

    RocketMQ 实现消息分发的核心机制是通过 Topic、Queue 和 Consumer Group 的配合实现的,下面给大家介绍RocketMQ实现消息分发的步骤,感兴趣的朋友一起看看吧
    2024-03-03
  • 通俗讲解JVM的类加载机制

    通俗讲解JVM的类加载机制

    这篇文章主要介绍了JVM的类加载机制的相关资料,帮助大家更好的理解和学习Java,感兴趣的朋友可以了解下
    2020-09-09
  • MyBatis中传入参数parameterType类型详解

    MyBatis中传入参数parameterType类型详解

    这篇文章主要给大家介绍了关于MyBatis中传入参数parameterType类型的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2018-04-04
  • SpringBoot打包发布到linux上(centos 7)的步骤

    SpringBoot打包发布到linux上(centos 7)的步骤

    这篇文章主要介绍了SpringBoot打包发布到linux上(centos 7)的步骤,帮助大家更好的理解和使用springboot框架,感兴趣的朋友可以了解下
    2020-12-12
  • 实例详解Java中ThreadLocal内存泄露

    实例详解Java中ThreadLocal内存泄露

    这一篇文章我们来分析一个Java中ThreadLocal内存泄露的案例。分析问题的过程比结果更重要,理论结合实际才能彻底分析出内存泄漏的原因。
    2016-08-08

最新评论