Springboot基础


一、属性配置

官方文档参考

springboot中3种配置文件的格式

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

配置文件的优先级:properties>yml>yaml

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

1、修改服务器端口

application.properties文件中加上server.port=80

2、修改banner

关闭banner:spring.main.banner-mode=off

3、日志

默认:logging.level.root=info
报错级:logging.level.root=warn

二、yaml格式

YAML(YAML Ain’t Markup Language),一种数据序列化格式

  • 优点
    • 容易阅读
    • 容易与脚本语言交互
    • 以数据为核心,重数据轻格式
  • YAML文件扩展名
    • .yml(主流)
    • .yaml

1、语法规则

核心规则:数据前面要加空格与冒号隔开

  • 大小敏感
  • 属性层级关系使用多行描述,每行结尾使用冒号结束
  • 使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用tab键)
  • 属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)
  • #表示注释
  • 字面值表示方式:
    • 使用~表示null
    • float: 3.14(支持科学计数法)
    • 可以使用双引号包裹特殊字符
    • 日期必须使用yyyy-MM-dd格式
    • 时间和日期之间使用T连接,最后使用+代表时区
  • 数组表示方法:在属性名书写位置的下方使用减号作为数据开始符号,每行书写一个数据,减号与数据间空格分隔

2、读取单一yaml属性数据

  • 使用@value读取单个数据,属性名引用方式:${一级属性名.二级属性名...}
  • 如果数据存在多层级,依次书写层级吗,名称即可

application.yml

country: china
user:
  name: wk
  age: 22

users: [1,2,2,3]

DemoController

@Value("${country}")
private String country1;

@Value("${user.name}")
private String name;

@Value("${users[1]}")
private String users1;

在配置文件中可以使用属性名引用方式引用属性
属性值中如果出现转移字符,需要使用双引号包裹作为字符解析

3、读取yaml全部属性数据

  • 1、使用Environment对象封装全部配置信息
	@Autowired
    private Environment environment;
  • 2、使用@Autowired自动装配数据到Environment对象中
environment.getProperty()

4、读取yaml引用类型属性数据

  • 1、自定义对象封装指定数据
datasource:
  driver: com.mysql.jdbc.Driver
  url: jdbc:mysql
  username: root
  password: 123
  • 2、定义数据模型封装yaml文件中对应的数据

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

@Data
//定义为spring管控的bean
@Component
//指定加载的数据
@ConfigurationProperties(prefix = "datasource")
public class MyDemo {
    private String driver;
    private String url;
    private String username;
    private String password;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangkay88

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值