SpringBoot 基本配置

SpringBoot全局配置文件

application.properties

application.yaml/application.yml

一般全局配置文件放在src/main/resources路径下类路径的config目录下

yaml文件:
    1.大小写敏感
    2.空格不可少,缩进控制层级,左对齐的元素拥有相同的层级
    3.k:v
        字面量v:
            ""会转义特殊字符, 例如: name:"hub\nery"  输出:hub换行ery
            ''不会转义特殊字符,例如: name:'hub\nery' 输出:hub\nery
        对象的行内写法:
            person:{name:hubery,age:18}
        数组,集合(list,set)的行内写法:
            pets:{dog,cat,pig}
        换行写法:
            每个元素前面都需要加‘-’
                pets:
                    -dog
                    -cat
                    -pig
properties文件:
    1.大小写敏感
    2.字符串不需要加"",否则真实保存的字符串内容为""value"",另外转义字符在这里不会转义
    3.数组,集合(List,Set)
        person.list=1,2,3

                                                                    

 

SpringBoot占位符的使用${}

1.可以使用系统定义的变量 ${ramdom.uuid}

2.可以使用定义于参数的变量 ${person.name}

3.可以对于不存在的变量设置默认值 ${person.name:hubery}

 

SpringBoot profile

1.对于不同环境的配置进行快速激活

不同环境,开发,测试,生产
    application-dev.properties或者application-dev.yml
    application-test.properties或者application-test.yaml
    application-prod.properties或者application-prod.yaml
默认格式:
    application-profile.properties或者application-profile.yml

2.在未申明的情况下,SpringBoot默认使用application.proeperties或application.yml配置文件

3.激活指定配置文件的格式:spring.profiles.active=dev

4.yaml文档块的方式进行激活,具体细节不详述,但是一般推荐采用

例子如下:
server:
 port: 8084
spring:
  profiles:
    active: test
---
server:
   port: 8085
spring:
  profiles: test
---
server:
  port: 8086
spring:
  profiles: prod

5.idea 命令行配置、激活不同环境

 

SpringBoot配置文件加载位置及加载优先级

1.(重要)命令行参数优先

例子: java -jar market.SNAPSHOT.jar --server.port=8089 --server.context.path=/market 

//命令行的方式修改系统运行的端口,不再需要去更改系统配置文件

                    注意:命令行多个参数之间使用空格隔开

2.来自java:comp/env的JDNI参数

3.Java系统属性{System.properties}

4.操作系统环境变量

5.RandomValuePropertySource配置的random.*属性

6.(重要)jar包外部的application-{profile}.properties或application.yml{带spring.profile}配置文件

7.(重要)jar包内部的application-{profile}.properties或application.yml{带spring.profile}配置文件

8.(重要)jar包外部的application.properties或application.yml{不带spring.profile}配置文件

9.(重要)jar包内部的application.properties或application.yml{不带spring.profile}配置文件

10.@Configuration注解类上的@PropertiesSource

11.通过SpringApplication.setDefaultProperties指定的默认属性

SpringBoot配置文件具体能做哪些配置地址:SpringBoot配置项

 

SpringBoot自动配置的原理

1.通过@SpringBootApplication里面的@EnableAutoConfiguration加载SpringBoot.properties(此文件在Maven项目的AutoConfigurer依赖里面)配置文件

2.通过配置文件加载所有的@Configuration配置类

3.由于大部分的自动配置都使用了@ConditionalOnXXX注解,表示如果我们需要使用到某些自动配置,那么我需要先判断此系统是否满足此自动配置的条件。

 

打印SpringBoot自动配置报告

1.我们可以配置debug=true来开启SpringBoot自动配置的打印

2. 具体的报告会在SpringBoot启动时打印,报告内详细的记录里那些自动配置被使用,那些自动配置没有满足自动配置的条件而未被使用

3.positive match:   启用了的自动配置

4.negative match: 没有启用的自动配置(没有满足自动配置的条件)

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值