application.yml基础配置以及读取 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对象封装全部配置信息

  1. 使用Environment对象封装全部配置信息
  2. 使用@Autowired自动装配数据到Environment对象中
    @Autowired
    private Environment env;
    System.out.println(env.getProperty("books[1].name"));

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

  1. yml文件
    datasource:
     driver-class-name: com.mysql.cj.jdbc.Driver
     url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC
     username: root
     password: root
  2. 自定义对象

@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;
}

 3. 在使用的地方,使用@Autowired自动装配

@Autowired
private MyDataSource myDataSource;

作者:花果水莲原文地址:https://blog.csdn.net/weixin_51725434/article/details/127176621

%s 个评论

要回复文章请先登录注册