SpringBoot入门(三)yaml文件和静态资源访问及原理

本文深入探讨SpringBoot的配置文件,重点讲解yaml格式,包括基本语法、数据类型和配置优先级。此外,还介绍了静态资源的访问,如默认目录、访问前缀和webjar的使用,以及静态资源配置的原理。
摘要由CSDN通过智能技术生成

目录

第六章 配置文件

6.1 properties文件

6.2 yaml

6.2.1 简介

6.2.2 基本语法

6.2.3 数据类型

6.2.4 示例

6.3 配置提示

第七章 Web开发

7.1 SpringMVC自动配置概览

7.2 简单功能分析

7.2.1 静态资源访问

        7.2.1.1 静态资源目录

        7.2.1.2 静态资源访问前缀

        7.2.1.3 webjar

7.2.2 欢迎页支持

7.2.3 自定义Favicon

7.2.4 静态资源配置原理


第六章 配置文件

6.1 properties文件

   application.properties。用法同以前的properties文件。

6.2 yaml

6.2.1 简介

   YAML是 "YAML Ain't Markup Language"(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言)。

   非常适合用来做以数据为中心的配置文件

   以后推荐使用这种yaml文件形式。

   如果application.properties文件和yaml文件同时配置了同一种属性,那么会优先选择properties文件中的属性取值。

6.2.2 基本语法

  • key: value;   key和value之间有个空格
  • 大小写敏感。
  • 使用缩进表示层级关系。
  • 缩进不允许使用tab,只允许空格。
  • 缩进的空格数不重要,只要相同层级的元素左对齐即可。
  • #表示注释。
  • 字符串无需加引号,如果要加,''(单引号)与""(双引号)表示字符串内容会被转义/不转义。

6.2.3 数据类型

  • 字面量:单个的、不可再分的值。date、boolean、string、number、null

k: v

  • 对象:键值对的集合。map、hash、set、object

行内写法:  k: {k1:v1,k2:v2,k3:v3}
#或
k: 
    k1: v1
    k2: v2
    k3: v3

  • 数组:一组按次序排列的值。array、list、queue

行内写法:  k: [v1,v2,v3]
#或者
k:
 - v1
 - v2
 - v3

6.2.4 示例

   java实现的类:

@ConfigurationProperties(prefix = "person")
@Component
@ToString
@Data
public class Person {

    private String userName;
    private Boolean boss;
    private Date birth;
    private Integer age;
    private Pet pet;
    private String[] interests;
    private List<String> animal;
    private Map<String, Object> score;
    private Set<Double> salarys;
    private Map<String, List<Pet>> allPets;
}

@ToString
@Data
public class Pet {
    private String name;
    private Double weight;
}

   yaml实现(application.yml,文件后缀名可以是yaml,也可以只写yml):

# yaml表示以上对象
person:
  userName: zhangsan
  boss: false
  birth: 2019/12/12 20:12:33
  age: 18
  pet:
    name: tomcat
    weight: 23.4
  interests: [篮球,游泳]
  animal:
    - jerry
    - mario
  #  score:
  #    english: 80
  #    math: 90
  score: {english: 80,math: 90}
  salarys: [3999,4999.98,5999.99]
  allPets:
    sick:
      - {name: tom,weight: 24}
      - name: jerry
        weight: 47
    health: [{name: mario,weight: 47}]

6.3 配置提示

   自定义的类和配置文件绑定时一般没有提示,此时可以加入依赖:

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-configuration-processor</artifactId>
        <optional>true</optional>
</dependency>

   并且在打包时不要把这个依赖也带上,因为与业务无关:

 <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.springframework.boot</groupId>
           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值