新模块启动直接失败,报 Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured。第一次遇到会往复杂处想,其实漏掉的多是个小前提。
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/demo
spring.datasource.username=root
spring.datasource.password=${DB_PASSWORD}
引入了 jdbc 相关依赖但没给连接信息,自动配置找不到 url,又不满足内嵌数据库的条件。这一点先确认清楚,后面就不用反复试。
碰到「数据源未配置」这类问题,我习惯先把当前配置原样备份一份,改坏了立刻换回来,不用现场推。临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。
动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。一次只改一处,改完立刻验证,几个改动叠在一起,出问题就说不清是谁导致的。
先做最小复现,能稳定跑出来的问题,排查成本会低一个数量级。别只看报错的最后一行,往上看几行,真正的起因通常在上面。
具体做法是,检查 application.yml 里的数据源配置;确认激活的 profile 是带配置那份;不用数据库就排除自动配置类。
改完照着核一遍,启动日志出现 HikariPool-1 - Start completed,服务正常起来。
