springboot 中yml配置写法问题

今天写一个配置信息直接上图

server:
  port: 8080

spring:
    redis:
      host: 192.168.114.135
      port: 6379
      password: wen266281
      database: 0
      lettuce:
        pool:
          #          连接池最大连接数(使用负值表示没有限制): 8
          max-active: 8
          # 连接池最大阻塞等待时间(使用负值表示没有限制)默认为-1
          max-wait: 100ms
          # 连接池中的最大空闲连接 默认为8
          max-idle: 8
          # 连接池中的最小空闲连接 默认为0
          min-idle: 0
      # Redis连接超时时间(毫秒)
    application:
     name: regeeee
    datasource:
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/reggie?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
      username: root
      password: wen266281
mybatis-plus:

  configuration:
    #在映射实体或者属性时,将数据库中表名和字段名中的下划线去掉,按照驼峰命名法映射

    map-underscore-to-camel-case: true
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    db-config:
      id-type: ASSIGN_ID
reggie:
  abs: D:\\8007\\z

这里redis配置相关的代码是复制粘贴上去的 然后我就发现下面几行代码爆黄了

这里就是一个规则:yml文件spring: deta:.....这就是路径 就是说有父子关系的 spring :必须写再deta前面 但是这里同为spring下面的路径怎么办

和同级别对其 不然就会爆黄 这里等级森严得很

<think>好的,我现在需要帮助用户了解如何在Spring Boot中正确配置YAML文件,包括示例和最佳实践。首先,我要回顾用户提供的系统级指令,确保回答符合格式要求,比如使用正确的中文、LaTeX格式,以及生成相关问题。 用户提到了两个引用,都是关于Spring Boot配置文件的,特别是application.yml和多环境配置。我需要结合这些引用内容,但注意用户提供的引用内容可能不完整,所以可能需要依靠自己的知识来补充。 首先,我应该介绍YAML的基本结构,因为正确理解语法是配置的基础。例如,缩进和键值对的写法,以及如何避免常见错误。然后,可能需要分点讲解不同配置项,比如数据源、服务器端口、日志等,每个部分给出示例代码块,符合用户提供的Python示例格式,但这里需要是YAML。 接下来,多环境配置是用户特别提到的,引用[2]中提到了三种方法,所以需要详细说明这三种方法:使用不同文件名、spring.profiles.active、以及多文档块。每个方法给出示例,并说明适用场景。 最佳实践部分需要包括结构优化、安全配置配置校验和版本控制等内容,这些都是开发中常见的注意事项。例如,如何分组配置,使用@ConfigurationProperties注解,以及敏感信息的处理。 最后,生成的相关问题需要围绕用户可能的后续疑问,比如如何覆盖配置配置加密、与properties文件的区别,以及配置加载顺序等。 需要确保所有技术术语准确,示例代码正确,并且引用标记正确添加。同时,避免使用用户不可见的格式,保持回答自然流畅,结构清晰,分点说明。</think>### Spring Boot YAML 文件配置详解 #### 一、YAML 基础语法 YAML(YAML Ain't Markup Language)采用缩进结构表示层级关系,键值对用冒号分隔。例如: ```yaml server: port: 8080 servlet: context-path: /api ``` #### 二、核心配置示例 1. **数据源配置** ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/mydb?useSSL=false username: root password: securePass123! driver-class-name: com.mysql.cj.jdbc.Driver hikari: maximum-pool-size: 10 ``` 2. **日志配置** ```yaml logging: level: root: INFO org.springframework.web: DEBUG file: name: logs/app.log max-size: 10MB ``` 3. **Swagger 文档配置** ```yaml springdoc: swagger-ui: path: /swagger-ui.html operationsSorter: alpha api-docs: path: /v3/api-docs ``` #### 三、多环境配置最佳实践(引用[2]) 1. **Profile 分离文件法** - `application-dev.yml` (开发环境) - `application-prod.yml` (生产环境) ```yaml # application.yml spring: profiles: active: @activatedProperties@ ``` 2. **单文件多文档块配置** ```yaml --- spring: config: activate: on-profile: dev server: port: 8080 --- spring: config: activate: on-profile: prod server: port: 80 ``` #### 四、高级配置技巧 1. **类型安全配置** ```java @ConfigurationProperties(prefix = "app.notification") public class NotificationConfig { private String endpoint; private int retryCount; // getters/setters } ``` 对应 YAML: ```yaml app: notification: endpoint: https://api.push.com/v2 retry-count: 3 ``` 2. **配置校验** ```yaml spring: mail: host: smtp.example.com port: 587 username: ${EMAIL_USER:default_user} password: ${EMAIL_PWD:} ``` #### 五、安全最佳实践 1. **敏感信息加密** ```yaml datasource: password: '{cipher}AQICAHh5pXv7w3...' ``` 2. **配置优先级管理** Spring Boot 配置加载顺序为: 1. 命令行参数 2. JNDI 属性 3. JVM 系统属性 4. 外部配置文件(按优先级排序)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值