SpringBoot(二)【学习笔记】

SpringBoot的配置文件

在这里插入图片描述

之前SSM项目:

每一个框架都有自己的配置文件, 每一个配置文件头文件不一样, 需要找到每个框架的头文件

SpringBoot的配置文件:

所有的框架的配置项,都可以在application.properties文件配置, 如果自定义一些配置,
修改SpringBoot默认的配置项, 可以在application.properties文件设置

Springboot配置文件能提示, 是idea 提供的功能, 必须添加对应依赖. 才有提示, 如果没有加对应依赖,那就没有这个依赖的相关配置项提示

配置文件分类

1 properties文件:key=value 每个key独占一行
2 yml文件: 有层次,相同的前缀只需要写一个, 下一层的key通过空格缩进
3 yaml文件:yml与yaml 文件后缀名不一样, 但是写法是一样, 是同一类型的文件,

推荐使用yml

yml的语法注意:

  1. 上层的key与下层key, 分行, 下层key 与上层key缩进, 缩进不推荐使用tab缩进, 推荐使用空格缩进

  2. 上层的key与下层key 直接 使用:分割 , key 与value赋值: key: value key与value之间有空格

  3. 同一层的key, 左对齐

在线properties与yml文件转换网站: https://www.toyaml.com/index.html

一个项目可以同时有多种类型配置文件: properties, yml , yaml

  1. 如果多个配置文件都配置相同的项:

优先级: properties > yml > yaml>默认配置项

  1. 如果多个配置文件配置不同配置项:

Springboot这些配置文件中配置项都生效, 合并在一起

实际开发, 只选择一种配置文件

读取yml文件中的数据

1.读取单一数据
yaml中保存的单个数据,可以使用Spring中的注解@Value读取单个数据,属性名引用方式:${一级属性名.二级属性名……}
在这里插入图片描述
注意:使用@Value注解时,要将该注解写在某一个指定的Spring管控的bean的属性名上方,这样当bean进行初始化时候就可以读取到对应的单一数据了。

2.读取全部数据
读取单一数据可以解决读取数据的问题,但是如果定义的数据量过大,这么一个一个书写肯定会累死人的,SpringBoot提供了一个对象,能够把所有的数据都封装到这一个对象中,这个对象叫做Environment,使用自动装配注解可以将所有的yaml数据封装到这个对象中
在这里插入图片描述
数据封装到了Environment对象中,获取属性时,通过Environment的接口操作进行,具体方法是getProperties(String),参数填写属性名即可.

3.读取对象数据
​ 单一数据读取书写比较繁琐,全数据读取封装的太厉害了,每次拿数据还要一个一个的getProperties(),总之用起来都不是很舒服。由于Java是一个面向对象的语言,很多情况下,我们会将一组数据封装成一个对象。SpringBoot也提供了可以将一组yaml对象数据封装一个Java对象的操作

​ 首先定义一个对象,并将该对象纳入Spring管控的范围,也就是定义成一个bean,然后使用注解@ConfigurationProperties指定该对象加载哪一组yaml中配置的信息。
在这里插入图片描述

注意:

  1. 使用@ConfigurationProperties注解绑定配置信息到封装类中
  2. 封装类需要定义为Spring管理的bean,否则无法进行属性注入

多环境配置

我们开发的项目并不是一定就在一个环境中运行,例如有开发环境(dev), 测试环境(test), 生产环境(prod)。这些环境是都需要配置的。

单一文件配置多环境 :在一个配置文件中配置所有的环境,这种方式不推荐
(只能在yml配置文件有效, properties配置文件无效) 了解

多文件配置多环境: 有多个配置文件来对应相应的环境,(properties支持, yml支持)

1.每个环境有对应的配置文件:

​ application-环境名.properties

每一个环境配置文件中不需要使用spring.profiles 指定名字, 文件名可以区分
在这里插入图片描述

2.在主配置文件中: application.properties文件,激活那个环境

spring.profiles.active=dev

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值