系统配置
这篇文档说明 geelato-web-quickstart 当前的主配置入口,以及它如何把各个业务模块的配置拆分到独立的 properties/*.properties 文件中。
主配置文件位于:
geelato-web-quickstart/src/main/resources/application.properties
分模块配置目录位于:
geelato-web-quickstart/src/main/resources/properties/
配置组织方式
当前采用的是:
- 一个主配置文件承载全局基础配置
- 多个模块配置文件按能力拆分
- 通过
spring.config.import统一导入
导入顺序当前是:
workflow.propertiesseata.propertiesoss.propertiespackage.propertiessc.propertiesauth.propertiesmarket.propertiesmessage.propertiesweixin_work.propertieselasticsearch.propertiesmonitor.properties
这意味着:
application.properties负责全局入口和基础能力- 各模块细节由独立文件承载
- 业务方可以更清楚地区分“平台基础配置”和“模块专项配置”
application.properties 里配置了什么
1. 基础启动开关
当前主配置里最上层的基础项包括:
server.portgeelato.webgeelato.schedule
它们用于控制:
- Web 服务监听端口
- Web 能力是否启用
- 调度能力是否启用
2. 插件配置
当前插件相关项包括:
geelato.plugin.pluginDirectorygeelato.plugin.pluginRepository
分别用于:
- 指定插件目录
- 指定插件仓库地址
3. 主数据库配置
当前主库配置前缀是:
spring.datasource.primary.*
包括:
- 名称
- JDBC URL
- 用户名
- 密码
- 驱动类
- 校验 SQL
- 初始连接数、最小空闲、最大活跃等池参数
这部分是 quickstart 启动最核心的数据库基础配置。
4. SQL 观测与上传配置
主配置里还包含:
decorator.datasource.p6spy.*spring.servlet.multipart.*
分别用于:
- SQL 代理日志
- 文件上传大小限制
5. 日志与扫描配置
日志相关配置包括:
logging.configlogging.level.*logging.pattern.console
框架扫描相关包括:
geelato.meta.scan-package-namesgeelato.graal.scan-package-names
这部分决定:
- 日志输出级别和样式
- 元数据与 Graal 扫描包范围
6. 平台运行时基础能力
主配置还直接放了一些跨模块共用的运行时项,例如:
geelato.es.debuggeelato.es.debug-max-lengthgeelato.file.root.pathserver.compression.*spring.data.redis.*geelato.upload.*
这些属于:
- 调试辅助
- 文件目录
- 响应压缩
- Redis
- 上传目录
等基础设施能力。
7. OCR 与 AI
主配置中还直接保留了:
- Aliyun STS OCR
- Mineru OCR
- PDF OCR
- DeepSeek AI
这类跨业务模块的对接项。
这说明当前 quickstart 的主配置并不只负责纯粹框架底座,也承载了若干通用平台服务的接入参数。
配置值的风格
当前配置大量使用:
${ENV_NAME:defaultValue}
这种 Spring 占位表达式。
这意味着:
- 优先从环境变量读取
- 未显式注入时再退回默认值
这种写法更适合:
- 本地开发
- 容器化部署
- 不同环境通过环境变量切换
分模块配置如何理解
properties/ 目录下的每个文件都对应一个专项能力模块。
当前建议的理解方式是:
- 主配置解决“平台最小启动需要什么”
- 模块配置解决“某项专项能力需要什么”
例如:
auth.properties负责认证相关参数message.properties负责消息模块和 RabbitMQworkflow.properties负责工作流和 Druidoss.properties负责对象存储
这种拆分方式有利于:
- 降低单文件复杂度
- 按模块定位配置问题
- 后续单独抽离模块时保留清晰边界
使用建议
当前更推荐这样维护 quickstart 配置:
- 保持
application.properties聚焦全局基础入口 - 模块专项能力尽量放到
properties/*.properties - 环境差异优先通过环境变量覆盖,而不是直接改源码默认值
- 敏感信息如密钥、密码、仓库地址优先走环境变量