关于application.yml基础配置以及读取方式

 更新时间:2024年07月13日 10:30:36   作者:花果水莲  
这篇文章主要介绍了关于application.yml基础配置以及读取方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

一、配置文件的格式

1.SpringBoot提供了3种配置文件的格式

  • properties(传统格式/默认格式)
  • yml(主流格式)
  • yaml

二、配置文件

1. SpringBoot中导入对应starter后,提供对应配置属性

2.书写SpringBoot配置采用关键字+提示形式书写

三、配置文件的加载顺序

properties优先级>yml优先级>yaml优先级

不同配置文件中相同配置按照加载优先级相互覆盖,不同配置文件中不同配置全部保留。

四、yml文件内容

#简单配置
server:
  port: 80

#对象配置
users:
  name: zhangsan
  id: 18

#简单列表配置,- 后跟1个空格
likes:
  - 游泳
  - 打球
  - 读书
  
#列表中是对象,key: value,不要忘记:后的空格 
books: [{name: 三国,id: 435},{name: 水壶,id: 6599}]

#在配置文件中可以使用属性名引用方式引用属性
baseDir: /usr/local/fire
center:
  dataDir: ${baseDir}/data
  logDir: ${baseDir}/log

#属性值中如果出现转义字符,需要使用双引号包裹
lesson: "Spring\tboot\nlesson"

五、读取yml配置

5.1 使用@Value读取单个数据

属性名引用方式:${一级属性名.二级属性名...}

@Value("${books[1].name}")
private String bookName;

5.2 使用Environment对象封装全部配置信息

  • 使用Environment对象封装全部配置信息
  • 使用@Autowired自动装配数据到Environment对象中
@Autowired
private Environment env;

System.out.println(env.getProperty("books[1].name"));

5.3 自定义对象封装指定数据

  • yml文件
datasource:
  driver-class-name: com.mysql.cj.jdbc.Driver
  url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC
  username: root
  password: root
  • 自定义对象
@Component  //bean对象,由spring来管理
@ConfigurationProperties(prefix = "datasource") //获取yml文件中datasource的属性,需要get和set方法,此处省略
public class MyDataSource {
    private String driverClassName;
    private String url;
    private String userName;
    private String password;
}
  • 在使用的地方,使用@Autowired自动装配
@Autowired
private MyDataSource myDataSource;

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 微信js sdk invalid signature签名错误问题的解决方法分析

    微信js sdk invalid signature签名错误问题的解决方法分析

    这篇文章主要介绍了微信js sdk invalid signature签名错误问题的解决方法,结合实例形式分析了微信签名错误问题相关解决方法,需要的朋友可以参考下
    2019-04-04
  • springboot整合mybatisplus,找不到bean解决方案

    springboot整合mybatisplus,找不到bean解决方案

    文章主要讨论了在使用MyBatisPlus与SpringBoot集成时遇到的问题及解决方案,包括确保@MapperScan注解正确配置、调整SpringBoot版本以匹配MyBatisPlus、检查SpringBoot与JDK版本的兼容性,以及尝试将MySQL数据库直接连接到IDEA中等方法
    2026-04-04
  • 使用Spring扫描Mybatis的mapper接口的三种配置

    使用Spring扫描Mybatis的mapper接口的三种配置

    这篇文章主要介绍了使用Spring扫描Mybatis的mapper接口的三种配置,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Java中从JSON转Java实体的多种方法详解

    Java中从JSON转Java实体的多种方法详解

    在现在的日常开发中不管前端还是后端,JSON 格式的数据是用得比较多的,甚至可以说无处不在,这篇文章主要给大家介绍了关于Java中从JSON转Java实体的多种方法,需要的朋友可以参考下
    2023-12-12
  • IDEA如何加载resources文件夹下文件相对路径

    IDEA如何加载resources文件夹下文件相对路径

    这篇文章主要介绍了IDEA如何加载resources文件夹下文件相对路径问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Java高效读取大文件实例分析

    Java高效读取大文件实例分析

    这篇文章主要介绍了Java高效读取大文件实例分析,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • java项目打包成可执行jar用log4j将日志写在jar所在目录操作

    java项目打包成可执行jar用log4j将日志写在jar所在目录操作

    这篇文章主要介绍了java项目打包成可执行jar用log4j将日志写在jar所在目录操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • Java中Map集合遍历的多种实现方式

    Java中Map集合遍历的多种实现方式

    本文主要介绍了Java中Map集合遍历的多种实现方式,包括KeySet、EntrySet、Lambda及Stream API,具有一定的参考价值,感兴趣的可以了解一下
    2025-05-05
  • MyBatis延迟加载的处理方案

    MyBatis延迟加载的处理方案

    MyBatis 支持 延迟加载(Lazy Loading),允许在需要数据时才从数据库加载,而不是在查询结果第一次返回时就立即加载所有数据,延迟加载的核心思想是,将关联对象或集合的加载推迟到真正需要时才进行加载,本文给大家介绍了MyBatis延迟加载的处理方案
    2024-12-12
  • 通过Java实现添加或删除PDF中的附件

    通过Java实现添加或删除PDF中的附件

    当我们在制作PDF文件或者PPT演示文稿的时候,为了让自己的文件更全面详细,就会在文件中添加附件。本文为大家整理了Java实现添加或删除PDF中的附件的方法,需要的可以参考下
    2023-01-01

最新评论