springboot yml文件常用配置


1,server 配置:

server:
  port: 8980
  servlet:
    context-path: /context-path

2,數據庫配置

spring:
  datasource:
    url: jdbc:mysql://<ip>:<port>/<databasename>?allowMultiQueries=true&characterEncoding=utf8&autoReconnect=true&serverTimezone=GMT%2B8
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
    # platform: mysql
    # 使用druid
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      maxActive: 30 //參考公式   連接數 = ((核心數 * 2) + 有效磁盤數)
      initialSize: 5 //一般最小設置為5到10之間防止閑置連接過多
      maxWait: 60000
      minIdle: 1
      timeBetweenEvictionRunsMillis: 60000
      minEvictableIdleTimeMillis: 300000
      validationQuery: SELECT 1 FROM DUAL
      testWhileIdle: true
      testOnBorrow: false
      testOnReturn: false
      poolPreparedStatements: true
      maxOpenPreparedStatements: 20

3,mybatis-plus配置:

mybatis-plus:
  mapper-locations: classpath*:mybatis/mapper/**/*Mapper.xml
  global-config:
    db-config:
      # 主鍵策略
      id-type: input
      # 表名前綴
      table-underline: true
      logic-not-delete-value: 0
      logic-delete-value: 1
  # 配置實體類包地址
  type-aliases-package: com.***.***.model.entity
  # 駝峰轉下划線
  configuration:
    map-underscore-to-camel-case: true
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl  //開啟SQL操作日志功能,將日志打印到控制台

4,log配置:

logging:
  config: classpath:config/log/logback-spring.xml

5,熱啟動配置

spring:
  devtools: 
    restart: 
      enabled: true

 6,日期類型序列化及反序列化

spring:
    jackson:
       #參數意義:
       #JsonInclude.Include.ALWAYS              默認
       #JsonInclude.Include.NON_DEFAULT     屬性為默認值不序列化
       #JsonInclude.Include.NON_EMPTY         屬性為 空(””) 或者為 NULL 都不序列化
       #JsonInclude.Include.NON_NULL           屬性為NULL   不序列化
        default-property-inclusion: ALWAYS
        time-zone: GMT+8
        date-format: yyyy-MM-dd HH:mm:ss

參考文檔:https://my.oschina.net/u/2338224/blog/2938032

7,redis配置

spring:
  redis:
    # redis數據庫索引(默認為0),我們使用索引為3的數據庫,避免和其他數據庫沖突
    database: 3
    # redis服務器地址(默認為localhost)
    host: localhost
    # redis端口(默認為6379)
    port: 6379
    # redis訪問密碼(默認為空)
    password:
    # redis連接超時時間(單位為毫秒)
    timeout: 0
    # redis連接池配置
    jedis
      pool:
        # 最大可用連接數(默認為8,負數表示無限)
        max-active: 8
        # 最大空閑連接數(默認為8,負數表示無限)
        max-idle: 8
        # 最小空閑連接數(默認為0,該值只有為正數才有作用)
        min-idle: 0
        # 從連接池中獲取連接最大等待時間(默認為-1,單位為毫秒,負數表示無限)
        max-wait: -1

8,rabbitmq全量配置:

spring:
  rabbitmq:
    host: 127.0.0.1 #ip
    port: 5672      #端口
    username: guest #賬號
    password: guest #密碼
    virtualHost:    #鏈接的虛擬主機
    addresses: 127.0.0.1:5672     #多個以逗號分隔,與host功能一樣。
    requestedHeartbeat: 60 #指定心跳超時,單位秒,0為不指定;默認60s
    publisherConfirms: true  #發布確認機制是否啟用
    publisherReturns: #發布返回是否啟用
    connectionTimeout: #鏈接超時。單位ms。0表示無窮大不超時
    ### ssl相關
    ssl:
      enabled: #是否支持ssl
      keyStore: #指定持有SSL certificate的key store的路徑
      keyStoreType: #key store類型 默認PKCS12
      keyStorePassword: #指定訪問key store的密碼
      trustStore: #指定持有SSL certificates的Trust store
      trustStoreType: #默認JKS
      trustStorePassword: #訪問密碼
      algorithm: #ssl使用的算法,例如,TLSv1.1
      verifyHostname: #是否開啟hostname驗證
    ### cache相關
    cache:
      channel: 
        size: #緩存中保持的channel數量
        checkoutTimeout: #當緩存數量被設置時,從緩存中獲取一個channel的超時時間,單位毫秒;如果為0,則總是創建一個新channel
      connection:
        mode: #連接工廠緩存模式:CHANNEL 和 CONNECTION
        size: #緩存的連接數,只有是CONNECTION模式時生效
    ### listener
    listener:
       type: #兩種類型,SIMPLE,DIRECT
       ## simple類型
       simple:
         concurrency: #最小消費者數量
         maxConcurrency: #最大的消費者數量
         transactionSize: #指定一個事務處理的消息數量,最好是小於等於prefetch的數量
         missingQueuesFatal: #是否停止容器當容器中的隊列不可用
         ## 與direct相同配置部分
         autoStartup: #是否自動啟動容器
         acknowledgeMode: #表示消息確認方式,其有三種配置方式,分別是none、manual和auto;默認auto
         prefetch: #指定一個請求能處理多少個消息,如果有事務的話,必須大於等於transaction數量
         defaultRequeueRejected: #決定被拒絕的消息是否重新入隊;默認是true(與參數acknowledge-mode有關系)
         idleEventInterval: #container events發布頻率,單位ms
         ##重試機制
         retry: 
           stateless: #有無狀態
           enabled:  #是否開啟
           maxAttempts: #最大重試次數,默認3
           initialInterval: #重試間隔
           multiplier: #對於上一次重試的乘數
           maxInterval: #最大重試時間間隔
       direct:
         consumersPerQueue: #每個隊列消費者數量
         missingQueuesFatal:
         #...其余配置看上方公共配置
     ## template相關
     template:
       mandatory: #是否啟用強制信息;默認false
       receiveTimeout: #`receive()`接收方法超時時間
       replyTimeout: #`sendAndReceive()`超時時間
       exchange: #默認的交換機
       routingKey: #默認的路由
       defaultReceiveQueue: #默認的接收隊列
       ## retry重試相關
       retry: 
         enabled: #是否開啟
         maxAttempts: #最大重試次數
         initialInterval: #重試間隔
         multiplier: #失敗間隔乘數
         maxInterval: #最大間隔

kafka 配置

spring
  kafka:
     consumer:
        group-id: foo
        auto-offset-reset: earliest
        key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
        value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
     producer:
        key-serializer: org.apache.kafka.common.serialization.StringSerializer
        value-serializer: org.apache.kafka.common.serialization.StringSerializer
     bootstrap-servers: localhost:9092

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM