1、配置文件

SpringBoot使用一个全局的配置文件,配置文件名是固定的;
application.properties
application.yml
配置文件的作用:修改SpringBoot自动配置的默认值;SpringBoot在底层都给我们自动配置好;

 

2、YAML语法:

### 1、基本语法

k:(空格)v:表示一对键值对(空格必须有);
以**空格**的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的
 server:
     port: 8081
     path: /hello
 属性和值也是大小写敏感;

 

### 2、值的写法

#### 字面量:普通的值(数字,字符串,布尔)
    k: v:字面直接来写;
        字符串默认不用加上单引号或者双引号;
        "":双引号;不会转义字符串里面的特殊字符;特殊字符会作为本身想表示的意思
                name:   "zhangsan \n lisi":输出;zhangsan 换行  lisi
        '':单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串数据
                name:   ‘zhangsan \n lisi’:输出;zhangsan \n  lisi
#### 对象、Map(属性和值)(键值对):
    k: v:在下一行来写对象的属性和值的关系;注意缩进
        对象还是k: v的方式
 friends:
         lastName: zhangsan
         age: 20行内写法:
 friends: {lastName: zhangsan,age: 18}#### 数组(List、Set):
用- 值表示数组中的一个元素
 pets:
  - cat
  - dog
  - pig行内写法
 pets: [cat,dog,pig]

 

Bean配置
SpringBoot推荐给容器中添加组件的方式;推荐使用全注解的方式

1、配置类**@Configuration**------>Spring配置文件
2、使用**@Bean**给容器中添加组件
 /**
  * @Configuration:指明当前类是一个配置类;就是来替代之前的Spring配置文件
  *
  * 在配置文件中用<bean><bean/>标签添加组件
  *
  */
 @Configuration
 public class MyAppConfig {    //将方法的返回值添加到容器中;容器中这个组件默认的id就是方法名
     @Bean
     public HelloService helloService02(){
         System.out.println("配置类@Bean给容器中添加组件了...");
         return new HelloService();
     }
 }等价于<bean class="com.xx.HelloService " id="helloService02"></bean>

## 6、配置文件加载位置

springboot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件
–file:./config/
–file:./
–classpath:/config/
–classpath:/
优先级由高到底,高优先级的配置会覆盖低优先级的配置;
SpringBoot会从这四个位置全部加载主配置文件;**互补配置**;

静态资源配置

所有 /webjars/** ,都去 classpath:/META-INF/resources/webjars/ 找资源;==
    webjars:以jar包的方式引入静态资源;
localhost:8080/webjars/jquery/3.3.1/jquery.js
 <!--引入jquery-webjar-->在访问的时候只需要写webjars下面资源的名称即可
         <dependency>
             <groupId>org.webjars</groupId>
             <artifactId>jquery</artifactId>
             <version>3.3.1</version>
         </dependency>==2)、"/**" 访问当前项目的任何资源,都去(静态资源的文件夹)找映射==
 "classpath:/META-INF/resources/", 
 "classpath:/resources/",
 "classpath:/static/", 
 "classpath:/public/" 
 "/":当前项目的根路径localhost:8080/abc ===  去静态资源文件夹里面找abc
==3)、欢迎页; 静态资源文件夹下的所有index.html页面;被"/**"映射;==
    localhost:8080/   找index页面
==4)、所有的 **/favicon.ico  都是在静态资源文件下找;==
==5)spring.resources.static-locations=classpath:/static,classpath:/public,classpath:/resources,classpath:/META-INF/resources
        自己配置静态资源路径