springboot启动配置文件-bootstrap.yml常用基本配置

4.1.5.配置文件

SpringBoot的配置文件支持多环境配置,基于不同环境有不同配置文件:
在这里插入图片描述

说明:

文件 说明
bootstrap.yml 通用配置属性,包含服务名、端口、日志等等各环境通用信息
bootstrap-dev.yml 线上开发环境配置属性,虚拟机中部署使用
bootstrap-local.yml 本地开发环境配置属性,本地开发、测试、部署使用

项目中的很多共性的配置都放到了Nacos配置中心管理:
在这里插入图片描述

例如mybatismqredis等,都有对应的shared-xxx.yaml共享配置文件。在微服务中如果用到了相关技术,无需重复配置,只要引用上述共享配置即可:

在这里插入图片描述

4.1.5.1.bootstrap.yml

我们来看看bootstrap.yml文件的基本内容:
在这里插入图片描述

接下来,我们就分别看看每一个共享的配置文件内容。

4.1.5.2.shared-spring.yml
spring:
  jackson:
    default-property-inclusion: non_null # 忽略json处理时的空值字段
  main:
    allow-bean-definition-overriding: true # 允许同名Bean重复定义
  mvc:
    pathmatch:
      # 解决异常:swagger Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException
      # 因为Springfox使用的路径匹配是基于AntPathMatcher的,而Spring Boot 2.6.X使用的是PathPatternMatcher
      matching-strategy: ant_path_matcher
4.1.5.3.shared-mybatis.yaml
mybatis-plus:
  configuration: # 默认的枚举处理器
    default-enum-type-handler: com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler
  global-config:
    field-strategy: 0 
    db-config:
      logic-delete-field: deleted # mybatis逻辑删除字段
      id-type: assign_id # 默认的id策略是雪花算法id
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver # 数据库驱动
    url: jdbc:mysql://${tj.jdbc.host:192.168.150.101}:${tj.jdbc.port:3306}/${tj.jdbc.database}?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
    username: ${tj.jdbc.username:root}
    password: ${tj.jdbc.password:123}

注意到这里把mybatis的datasource都配置了,不过由于jdbc连接时的数据库ip、端口,数据库名、用户名、密码是不确定的,这里做了参数映射:

参数名 描述 默认值
tj.jdbc.host 主机名 192.168.150.101,也就是虚拟机ip
tj.jdbc.port 数据库端口 3306
tj.jdbc.database 数据库database名称
tj.jdbc.username 数据库用户名 root
tj.jdbc.password 数据库密码 123

除了tj.jdbc.database外,其它参数都有默认值,在没有配置的情况下会按照默认值来配置,也可以按照参数名来自定义这些参数值。其中tj.jdbc.database是必须自定义的值,例如在交易服务中:

tj:
  jdbc:
    database: tj_trade
4.1.5.4.shared-mq.yaml
spring:
  rabbitmq:
    host: ${tj.mq.host:192.168.150.101} # mq的IP
    port: ${tj.mq.port:5672}
    virtual-host: ${tj.mq.vhost:/tjxt}
    username: ${tj.mq.username:tjxt}
    password: ${tj.mq.password:123321}
    listener:
      simple:
        retry:
          enabled: ${tj.mq.listener.retry.enable:true} # 开启消费者失败重试
          initial-interval: ${tj.mq.listener.retry.interval:1000ms} # 初始的失败等待时长为1秒
          multiplier: ${tj.mq.listener.retry.multiplier:1} # 失败的等待时长倍数,下次等待时长 = multiplier * last-interval
          max-attempts: ${tj.mq.listener.retry.max-attempts:3} # 最大重试次数
          stateless: ${tj.mq.listener.retry.stateless:true} # true无状态;false有状态。如果业务中包含事务,这里改为false

这里配置了mq的基本配置,例如地址、端口等,默认就是tjxt的地址,不需要修改。另外还配置类消费者的失败重试机制,如有需要可以按需修改。

4.1.5.5.shared-redis.yaml
spring:
  redis:
    host: ${tj.redis.host:192.168.150.101}
    password: ${tj.redis.password:123321}
    lettuce:
      pool:
        max-active: ${tj.redis.pool.max-active:8}
        max-idle: ${tj.redis.pool.max-idle:8}
        min-idle: ${tj.redis.pool.min-idle:1}
        max-wait: ${tj.redis.pool.max-wait:300}

注意配置了Redis的基本地址和连接池配置,省去了我们大部分的工作

4.1.5.6.shared-feign.yaml
feign:
  client:
    config:
      default: # default全局的配置
        loggerLevel: BASIC # 日志级别,BASIC就是基本的请求和响应信息
  httpclient:
    enabled: true # 开启feign对HttpClient的支持
    max-connections: 200 # 最大的连接数
    max-connections-per-route: 50 # 每个路径的最大连接数

这里配置了默认的Feign日志级别以及连接池配置,一般不需要修改。

4.1.5.7.shared-xxljob.yaml
tj:
  xxl-job:
    access-token: tianji
    admin:
      address: http://192.168.150.101:8880/xxl-job-admin
    executor:
      appname: ${spring.application.name}
      log-retention-days: 10
      logPath: job/${spring.application.name}

这里配置了xxl-job组件的地址等信息,一般不需要修改。

相关推荐

  1. Python配置文件读取方法

    2024-06-10 19:26:02       33 阅读
  2. Redis服务器配置文件配置

    2024-06-10 19:26:02       39 阅读
  3. redis.conf配置文件配置项详解

    2024-06-10 19:26:02       34 阅读
  4. vit -- 配置

    2024-06-10 19:26:02       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-10 19:26:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-10 19:26:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-10 19:26:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-10 19:26:02       20 阅读

热门阅读

  1. WDF驱动开发-电源策略(二)

    2024-06-10 19:26:02       10 阅读
  2. 最长最短单词【菜蛋题解】

    2024-06-10 19:26:02       10 阅读
  3. 嵌入式基础知识

    2024-06-10 19:26:02       6 阅读
  4. Web前端与前端:技术之巅的较量与探索

    2024-06-10 19:26:02       9 阅读
  5. 「前端+鸿蒙」鸿蒙应用开发-TS声明和数据类型

    2024-06-10 19:26:02       11 阅读
  6. python-数据分析-缺失值-函数-数据类型

    2024-06-10 19:26:02       11 阅读
  7. NLP--机器学习

    2024-06-10 19:26:02       9 阅读
  8. Spark MLlib 机器学习

    2024-06-10 19:26:02       12 阅读
  9. 牛客——送水

    2024-06-10 19:26:02       8 阅读
  10. SSR技术:让搜索引擎爱上你的网站

    2024-06-10 19:26:02       9 阅读
  11. mysql 小例子

    2024-06-10 19:26:02       11 阅读
  12. 服务部署:Ubuntu安装搭建docker

    2024-06-10 19:26:02       10 阅读