使用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读取properties文件配置项的更多相关文章

  1. 解决IDEA springBoot读取*.properties文件中文内容乱码的问题

    1. 配置 properties 文件 2. 读取 sex 属性输出到页面, 中文乱码 3. file --> settings 4. Editor --> File Encodings ...

  2. SpringBoot @Value读取properties文件的属性

    SpringBoot在application.properties文件中,可以自定义属性. 在properties文件中如下示: #自定义属性 mail.fromMail.addr=lgr@163.c ...

  3. springBoot使用@Value标签读取*.properties文件的中文乱码问题

    上次我碰到获取properties文件中的中文出现乱码问题. 查了下资料,原来properties默认的字符编码格式为asci码,所以我们要对字符编码进行转换成UTF-8格式 原先代码:@Proper ...

  4. SpringBoot11 读取properties文件、发送邮件

    1 读取properties文件 1.1 ResourceBundle 帮助我们事先国际化 1.1.1 前提 properties文件的命名方式必须体现除语言和国别 例如:test_zh_CN.pro ...

  5. 五种方式让你在java中读取properties文件内容不再是难题

    一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC ...

  6. java分享第十六天( java读取properties文件的几种方法&java配置文件持久化:static块的作用)

     java读取properties文件的几种方法一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取Propert ...

  7. 用eclipse做项目中常遇到的问题-如何创建并读取properties文件

    在用eclipse做项目开发的时候我们常常会将一些重要的内容写在配置文件里面, 特别是连接数据库的url,username,password等信息,我们常常会新建一个properties文件将所有信息 ...

  8. jsp读取properties文件

    jsp读取properties文件 jsp中读取properties文件,并把值设到js变量中: mpi.properties文件内容: MerchantID=00000820 CustomerEMa ...

  9. java读取.properties文件

    在web开发过程中,有些配置要保存到properties文件里,本章将给出一个工具类,用来方便读取properties文件. 案例: 1:config.properties文件 name=\u843D ...

  10. Java 读取Properties文件时应注意的路径问题

    1. 使用Class的getResourceAsStream()方法读取Properties文件(资源文件)的路径问题:  InputStream in = this.getClass().getRe ...

随机推荐

  1. 再探 游戏 《 2048 》 —— AI方法—— 缘起、缘灭(8) —— 2021年9月SOTA的TDL算法——《Optimistic Temporal Difference Learning for 2048》——完结篇

    <2048>游戏在线试玩地址: https://play2048.co/ 如何解决<2048>游戏源于外网的一个讨论帖子,而这个帖子则是讨论如何解决该游戏的最早开始,可谓是&q ...

  2. VSCode配置git

    1.背景 vscode中基础git; 前提:本地已经安装好了git 有这样的菜单,并且可以正常上传下载代码 2.步骤 步骤一:找的git的安装路径: D:\Program Files\Git 步骤二: ...

  3. vue项目之菜单管理项目实现

    1.背景 2.菜单导航实现 代码: <template> <el-breadcrumb separator-class="el-icon-arrow-right" ...

  4. QT中Table Widget树控件的使用

    关于Item Widgets中Table Widget的使用方法!了解在QT程序中插入表格得操作! Table Widget树控件的使用 1.创建数据及其初始化Table控件 // 创建一英雄列表,一 ...

  5. 2023 ICPC 杭州游记

    题解 省流:三个 NOI 银牌合成一个 ICPC 区域赛银牌 感谢 gjy 的铜钱剑 和 hszx 的大家玩得很开心 两个联赛数据结构没做出来

  6. SRE 必备知识 - Kafka 探秘之零拷贝技术

    如果你了解过 Kafka,那么它用到的一个性能优化技术可能会引起你的注意 -- 操作系统的零拷贝(zero-copy)优化. 零拷贝操作可以避免对数据的非必要拷贝,当然,并非是说完全没有拷贝. 在 K ...

  7. FirewallD, iptables, Docker

    firewalld 是之前 iptables 的前端.命令更好用 FirewallD 将配置储存在 /usr/lib/firewalld/ 和 /etc/firewalld/ 中的各种 XML 文件 ...

  8. Google reCAPTCHA

    Spam from Website Enquiry 网站一般上都会有 Contact Us 页面. 里头有一个表格, 访客可以通过提交表格发出对产品和服务的讯问. 本来是一个质询功能, 但就是有坏人利 ...

  9. Powershell 重新排列 Windows环境变量

    最近乱搞环境变量,然后有些重复了,遂写个脚本去重下排序下. 环境变量有长度限制,如果超出了,比如SqlServer相关的,将共同路径单独搞个变量声明下,比如 将其路径手动替换成如下,可大幅压缩变量长度 ...

  10. 深入理解ConcurrentHashMap

    HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进行put操作,调用了HashMap的putVal(),具体原因: 假设两个线程A.B都在进行put操作,并且hash函数计算 ...