03-SpringBoot的基础配置及其配置文件分类,解决Yaml文件失效问题

SpringBoot的配置

SpringBoot是用来提高Spring程序的开发效率的,使用SpringBoot后几乎不用做任何配置功能就有了,因为很多功能已经有默认配置帮我们做好了

配置文件的相关配置

在一个项目中不同的技术对应不同的配置文件并且这些配置文件的格式也不统一

SpringBoot提供了一个专门的配置文件application.properties修改所用技术的配置(如服务器或数据库的配置),既统一了配置文件的格式也便与集中管理

  • resources/application.properties文件中只要输入要配置的属性关键字就可以根据IDE的提示进行设置
# 设置访问tomcat的端口号(默认是8080)
# 如果不使用Spring Boot,修改端口号就需要在tomcat服务器的配置文件中改 
server.port=80
# 关闭运行日志图表
spring.main.banner-mode=off
# 设置运行日志的显示级别
logging.level.root=debug

在SpringBoot官方文档附录中的Application Properties可以获取到不同技术相关的配置项,但只有导入了对应starter后SpringBoot才会提供对应的配置属性提示

在这里插入图片描述

spring-boot-starter是SpringBoot中所有starter的基础依赖,里面定义了SpringBoot工程相关的基础配置项

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
    <version>2.5.4</version>
    <scope>compile</scope>
</dependency>

配置文件分类

SpringBoot工程中的配置文件支持三种配置格式

  • properties格式: 配置项属性写起来代码冗余
  • yml(主流)和yaml格式: 这两种格式除了文件名后缀不一样,文件格式完全一样

配置文件加载优先级: application.properties > application.yml > application.yaml

#application.properties(properties格式)
server.port=80

#application.yml(yml格式)
server:
  port: 81
  
#application.yaml(yaml格式)
server:
  port: 82

配置文件可以有多个: 不同配置文件中相同配置属性按照加载文件的优先级相互覆盖,不同配置文件中不同配置属性全部保留即所有的配置项都会生效

#application.properties(properties格式)
server.port=80
spring.main.banner-mode=off

#application.yml(yml格式)
server:
  port: 81
logging: 
  level: 
    root: debug
#application.yaml(yaml格式)
server
  port: 82

配置文件自动提示失效问题

配置文件自动提示功能是IDEA这个编程工具给我们提供的并不是SpringBoot技术给我们提供的,自动提示功能消失的大体原因有2种

  • 第一种现象: IDEA认为你现在写配置的文件不是个配置文件,所以拒绝给你提供提示功能
  • 第二种现象: IDEA认定你是合理的配置文件,但是IDEA加载不到对应的提示信息

第一步: Files→Project Structure, 在Facets选项右侧的Spring下选择配置文件自动提示功能消失的那个SpringBoot工程

在这里插入图片描述

第二步: 点击Customize Spring Boot按钮,查看当前SpringBoot工程中所有的配置文件

在这里插入图片描述

第三步: 点击+号在当前工程下添加没有自动提示功能的配置文件

在这里插入图片描述

自定义类绑定的配置提示

自定义的类和配置文件绑定时一般没有提示, 若要提示添加如下依赖

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

<!-- 下面插件作用是工程打包时,不将spring-boot-configuration-processor打进包内,让其只在编码的时候有用 -->
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <excludes>
                    <exclude>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-configuration-processor</artifactId>
                    </exclude>
                </excludes>
            </configuration>
        </plugin>
    </plugins>
</build>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值