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;
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
SpringBoot中的@RequestMapping注解的用法示例
@RequestMapping注解是SpringBoot中最常用的注解之一,它可以帮助开发者定义和处理HTTP请求,本篇文章我们将详细为大家介绍如何使用SpringBoot中的@RequestMapping注解,感兴趣的同学跟着小编一起来学习吧2023-06-06基于springBoot配置文件properties和yml中数组的写法
这篇文章主要介绍了springBoot配置文件properties和yml中数组的写法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-11-11Java中关于size()>0 和isEmpt()的性能考量
这篇文章主要介绍了Java中关于size()>0 和isEmpt()性能考量,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-02-02Java中关键字final finally finalize的区别介绍
这篇文章主要给大家分享的是 Java中final,finally,finalize 到底有什么区别,文章围绕final,finally,finalize的相关资料展开详细内容,具有一定的参考的价值,需要的朋友可以参考一下2022-04-04
最新评论