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