SpringBoot3配置文件

1、统一配置管理概述

①SpringBoot工程下,进行统一的配置管理,你设想设置的任何参数(端口号、项目根路径、数据库连接信息等)都集中到一个固定位置和命名的配置文件(application.properties / application.yml)中!

②配置文件应该放置在SpringBoot工程的src/main/resources目录下,这是因为该路径是默认的类路径,配置文件会被自动加载并可被应用程序访问。


2、YAML配置文件使用

2.1 概述

①是一种基于层次结构的数据序列化格式,旨在提供一种易读、人类友好的数据表示方式。

②相较于.properties配置文件的优势:

有层次结构、自我描述性、注释支持、多行文本、类型支持、更好的可读性;


2.2 语法说明

数据结构用树型结构呈现,通过缩进来表示层级

server:
port: 80
servlet:
 context-path: /boot

连续的项目(集合)通过减号“-”来表示;键值结构里的key/value对用冒号“ :”来表示

sf:
user:
 username: root  # username:空格xxx(冒号后面要加个空格)
 password: 123456
 gfs:
      - 高圆圆
      - 范冰冰
      - 赵丽颖
  info:
    age: 18
    name: sf

Yaml配置文件的扩展名是yml或yaml


2.3 YAML配置文件数据注入

①通用配置和(二.1案例)一样

②创建application.yaml配置文件

③根据上述YAML配置文件配置格式配置相关数据

例子:
# springboot规定的配置,有特殊含义
server:
port: 80
servlet:
 context-path: /boot
​
​
# 自定义配置
sf:
user:
 username: root  # username:空格xxx(冒号后面要加个空格)
 password: 123456
 gfs:
      - 高圆圆
      - 范冰冰
      - 赵丽颖
  info:
    age: 18
    name: sf

④根据自定义配置在pojo包下创建User类,并设置对应的属性

将配置数据注入属性中,有两种方式:

  • @Value注入和批量配置读取
  • 注意:@Value(key必须写全了)、@Value只能读取单个值
  • 批量配置读取:在需要注入数据的类上加上 @ConfigurationProperties(prefix = "通用前缀") 注解
  • @ConfigurationProperties(prefix = "sf.user") ,prefix后写通用的前缀

批量配置读取优势:方便 ,不用一个一个读取;可以给集合类型赋值

例子:
@Data
@Component
@ConfigurationProperties(prefix = "sf.user") //批量配置读取
public class User {
    //@Value("${sf.user.username}") //di注入   要想注入,必须将该类放入ioc容器中,即在该类上加上@Component注解
    private String username;
    //@Value("${sf.user.password}") //di
    private String password;
    //@Value("${sf.user.gfs}")  会出错,@Value只能读单个值
    private List<String> gfs;
}

⑥编写对应的UserController代码:

例子:
@RestController  //返回json数据
@RequestMapping("user")
public class UserController {
​
    @Autowired
    private User user;
​
    @GetMapping("show")
    public User show(){
        return user;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值