spring_boot配置

这篇博客详细介绍了Spring Boot的配置文件,包括配置文件的类型(如application.properties和application.yml)、YAML的基本语法、配置文件的注入方式(如@Value和@ConfigurationProperties)、配置文件占位符的使用、profile的管理以及配置文件的加载顺序。此外,还探讨了自动配置的原理和细节。
摘要由CSDN通过智能技术生成

Spring Boot配置文件

1、配置文件

  1. Spring Boot使用一个全局的配置文件,配置文件名称是固定的

    1. application.properties
    2. application.yml
  2. 配置文件的作用:修改Spring Boot自动配置的默认值;

    • 因为Spring Boot在底层都已经给我们配置好了,想对配置进行修改就这个全局的配置文件中进行配置。
  3. YAML(YAML Ain’t Markup Language)

    1. YAML A Markup Language:是一个标记语言
    2. YAML in’t Markup Language:不是一个标记语言
    3. 标记语言:
      1. 以前的配置文件;大多使用的是***xxx.xml***文件;

      2. YMAL:以数据为中心;比json,xml等更适合做配置文件

      3. YMAL配置实例

         server:
               port: 8081
        
      4. xml配置实例

           <server>
               <port>8081</port>
           </server>
        

2、YAML语法

1. 基本语法

  1. k:(空格)v:表示一对键值对(空格必须有);

  2. 以***空格***的缩进来控制层级关系;只要是左对齐的一列数据都是同一个层级的

      server:
            prot: 8080
            path: /hello
    
  3. 属性和值也是大小写敏感;

2. 值的写法

1、字面量;普通的值(数字、字符串、布尔)
  • k: V :字面量直接来写;
  • 字符串默认不用加上单引号或者双引号;
    • “”:双引号;不会转移字符串里面的特殊字符;特殊字符会作为本身想表示的意思
      • name: “zhangsan \n lisi” —> 输出:zhangsan 换行 lisi
    • ‘’:单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串输出
      • name: ‘zhangsan \n lisi’ —> 输出: zhangsan \n lisi
2、对象、Map(属性和值)(键值对)
  • k: v:在下一行写最底下那个的属性和值的关系;注意缩进

    1. 对象也还是k: v的方式表示
    friends:
       lastName: zhangsan
       age: 20
    
    1. 行内写法
      friends: {lastName:zhangsan,age:20}
3、数组(list、set)
  1. 用- 值(短横线+空格+值)表示数组中的一个元素
 pets:
   - cat
   - dog
   - pig
  1. 行内写法
    pets: [cat,dog,pig]

3、配置文件注入

1.yml配置文件

person:
     lastName: zhangsan
     age: 18
     boss: false
     birth: 2017/12/12
     maps: {
   k1: v1,k2: 12}
     lists:
   		- lisi
     	- haoliu
     dog:
       name: 小狗
       age: 2

2. javabean

/**
 * 将配置文件中配置的每一个属性的值映射到这个组件中
 * @ConfigurationProperties:告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定;
 * prefix = "person":告诉SpringBoot要对配置文件中哪个下面的所有属性进行一一映射;
 * @ConfigurationProperties默认是从全局配置文件中去获取值
 * 只有这个组件是容器中的组件,才能使用容器提供的功能
 */
@Component
@ConfigurationProperties(prefix = "person")
public class person {
   
    private String LastName;
    private Integer age;
    private Boolean boss;
    private Date birth;
    private Map<String,Object> maps;
    private List<Object> list;
    private Dog dog;
  1. 可以导入配置文件处理器,以后编写配置文件就有提示了。

    <dependency>
    	<groupId>org.springframework.boot</groupId>
    	<artifactId>spring-boot-configuration-processor</artifactId>
        <optional>true</optional>
    </dependency>
    
  2. @Value注入方式

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值