--- ### 服务器配置 server: # HTTP 端口(默认 8080) port: 8000 --- ### 数据源配置 spring.datasource: type: com.zaxxer.hikari.HikariDataSource ## 动态数据源配置(可配多主多从:m1、s1...、纯粹多库:mysql、oracle...、混合配置:m1、s1、oracle...) dynamic: # 是否启用 P6Spy(SQL 性能分析组件,默认 false,该插件有性能损耗,不建议生产环境使用) p6spy: true # 设置默认的数据源或者数据源组(默认 master) primary: master # 严格匹配数据源(true 未匹配到指定数据源时抛异常;false 使用默认数据源;默认 false) strict: false datasource: # 主库配置(可配多个,构成多主) master: url: jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:continew_admin}?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&rewriteBatchedStatements=true&autoReconnect=true&maxReconnects=10&failOverReadOnly=false username: ${DB_USER:root} password: ${DB_PWD:123456} driver-class-name: com.mysql.cj.jdbc.Driver # 从库配置(可配多个,构成多从) slave_1: url: jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:continew_admin}?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&rewriteBatchedStatements=true&autoReconnect=true&maxReconnects=10&failOverReadOnly=false username: password: lazy: true driver-class-name: com.mysql.cj.jdbc.Driver type: ${spring.datasource.type} # Hikari 连接池配置(完整配置请参阅:https://github.com/brettwooldridge/HikariCP) hikari: # 最大连接数量(默认 10,根据实际环境调整) # 注意:当连接达到上限,并且没有空闲连接可用时,获取连接将在超时前阻塞最多 connectionTimeout 毫秒 max-pool-size: 20 # 获取连接超时时间(默认 30000 毫秒,30 秒) connection-timeout: 30000 # 空闲连接最大存活时间(默认 600000 毫秒,10 分钟) idle-timeout: 600000 # 保持连接活动的频率,以防止它被数据库或网络基础设施超时。该值必须小于 maxLifetime(默认 0,禁用) keepaliveTime: 30000 # 连接最大生存时间(默认 1800000 毫秒,30 分钟) max-lifetime: 1800000 --- ### Liquibase 配置 spring.liquibase: # 是否启用 enabled: true # 配置文件路径 change-log: classpath:/db/changelog/db.changelog-master.yaml --- ### Redis 单机配置 spring: redis: # 地址 host: ${REDIS_HOST:127.0.0.1} # 端口(默认 6379) port: ${REDIS_PORT:6379} # 密码(未设置密码时可为空或注释掉) password: ${REDIS_PWD:123456} # 数据库索引 database: ${REDIS_DB:0} # 连接超时时间 timeout: 10s # 是否开启 SSL ssl: false --- ### 邮件配置 spring.mail: # 根据需要更换 host: smtp.126.com port: 465 username: 你的邮箱 password: 你的邮箱授权码 default-encoding: utf-8 properties: mail: smtp: auth: true socketFactory: class: javax.net.ssl.SSLSocketFactory port: 465 --- ### 验证码配置 captcha: ## 图片验证码配置 image: # 类型 type: SPEC # 内容长度 length: 4 # 过期时间 expirationInMinutes: 2 # 宽度 width: 111 # 高度 height: 36 ## 邮箱验证码配置 mail: # 内容长度 length: 6 # 过期时间 expirationInMinutes: 5 # 限制时间 limitInSeconds: 60 # 模板路径 templatePath: mail/captcha.ftl --- ### 安全配置-排除路径配置 security.excludes: # 静态资源 - /*.html - /**/*.html - /**/*.css - /**/*.js - /webSocket/** # 接口文档相关资源 - /favicon.ico - /doc.html - /webjars/** - /swagger-ui/** - /swagger-resources/** - /*/api-docs/** # 本地存储资源 - /avatar/** - /file/** --- ### 非对称加密配置(例如:密码加密传输,前端公钥加密,后端私钥解密;在线生成 RSA 密钥对:http://web.chacuo.net/netrsakeypair) rsa: # 私钥 privateKey: MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAznV2Bi0zIX61NC3zSx8U6lJXbtru325pRV4Wt0aJXGxy6LMTsfxIye1ip+f2WnxrkYfk/X8YZ6FWNQPaAX/iRwIDAQABAkEAk/VcAusrpIqA5Ac2P5Tj0VX3cOuXmyouaVcXonr7f+6y2YTjLQuAnkcfKKocQI/juIRQBFQIqqW/m1nmz1wGeQIhAO8XaA/KxzOIgU0l/4lm0A2Wne6RokJ9HLs1YpOzIUmVAiEA3Q9DQrpAlIuiT1yWAGSxA9RxcjUM/1kdVLTkv0avXWsCIE0X8woEjK7lOSwzMG6RpEx9YHdopjViOj1zPVH61KTxAiBmv/dlhqkJ4rV46fIXELZur0pj6WC3N7a4brR8a+CLLQIhAMQyerWl2cPNVtE/8tkziHKbwW3ZUiBXU24wFxedT9iV --- ### 接口文档配置 springdoc: swagger-ui: enabled: true --- ### 文件上传配置 spring.servlet: multipart: enabled: true # 单文件上传大小限制 max-file-size: 10MB # 单次总上传文件大小限制 max-request-size: 20MB --- ### 本地存储配置 local-storage: # 文件模式 filePattern: /file/** # 头像模式 avatarPattern: /avatar/** # 文件上传大小限制 maxSizeInMb: 10 # 头像上传大小限制 avatarMaxSizeInMb: 5 ## Windows 系统本地存储配置 windows: file: C:\${project.appName}\data\file\ avatar: C:\${project.appName}\data\avatar\ ## Linux 系统本地存储配置 linux: file: /data/file/ avatar: /data/avatar/ ## Mac 系统本地存储配置 mac: file: ~/data/file/ avatar: ~/data/avatar/ --- ### 跨域配置 cors: # 配置允许跨域的域名 allowedOrigins: '*' # 配置允许跨域的请求方式 allowedMethods: '*' # 配置允许跨域的请求头 allowedHeaders: '*' # 配置允许跨域的响应头 exposedHeaders: '*'