关于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;

总结

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

相关文章

  • SpringBoot3整合pageHelper实现分页功能

    SpringBoot3整合pageHelper实现分页功能

    PageHelper是一个开源的Java分页插件,它提供了方便的分页查询功能,适用于大多数基于Java的持久层框架(如MyBatis、Hibernate等),本文给大家介绍了springboot3整合pageHelper实现分页功能的方法,需要的朋友可以参考下
    2024-08-08
  • Java中的SimpleDateFormat的线程安全问题详解

    Java中的SimpleDateFormat的线程安全问题详解

    这篇文章主要介绍了Java中的SimpleDateFormat的线程安全问题详解,sonar 是一个代码质量管理工具,SonarQube是一个用于代码质量管理的开放平台,为项目提供可视化报告, 连续追踪项目质量演化过程,需要的朋友可以参考下
    2024-01-01
  • java数据库唯一id生成工具类

    java数据库唯一id生成工具类

    这篇文章主要为大家详细介绍了java数据库唯一id生成工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • Spring bean不被GC的真正原因及分析

    Spring bean不被GC的真正原因及分析

    这篇文章主要介绍了Spring bean不被GC的真正原因及分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • Java实现归并排序的示例代码

    Java实现归并排序的示例代码

    归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。本文将用Java实现这一排序,需要的可以参考一下
    2022-08-08
  • SpringBoot部署在tomcat容器中运行的部署方法

    SpringBoot部署在tomcat容器中运行的部署方法

    这篇文章主要介绍了SpringBoot部署在tomcat容器中运行的部署方法,需要的朋友可以参考下
    2018-10-10
  • 在Spring项目中引入高版本依赖并解决低版本冲突问题的解决方法

    在Spring项目中引入高版本依赖并解决低版本冲突问题的解决方法

    在Spring项目的开发过程中,依赖管理是一个非常重要且复杂的问题,我们可能需要引入更高版本的依赖来使用新特性或修复旧版本的Bug,然而,这些高版本依赖可能会与项目中已有的低版本依赖产生冲突,本文将详细探讨如何在Spring中引入高版本依赖,并解决低版本依赖冲突的问题
    2025-03-03
  • Java中使用instanceof判断对象类型的示例

    Java中使用instanceof判断对象类型的示例

    在List<Object>中遍历Object时,先判断类型,再定向转换,本文给大家介绍Java中使用instanceof判断对象类型,感兴趣的朋友跟随小编一起看看吧
    2023-08-08
  • spring boot下 500 404 错误页面处理的方法

    spring boot下 500 404 错误页面处理的方法

    本篇文章主要介绍了spring boot下 500 404 错误页面处理的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • 说明Java的传递与回调机制的代码示例分享

    说明Java的传递与回调机制的代码示例分享

    这篇文章主要介绍了说明Java的传递与回调机制的代码示例分享,传递与回调机制是Java入门学习中的基础知识,需要的朋友可以参考下
    2015-09-09

最新评论