Spring Boot YAML 自动数据源配置问题 - 未拾取数据源 URL
Posted
技术标签:
【中文标题】Spring Boot YAML 自动数据源配置问题 - 未拾取数据源 URL【英文标题】:Spring Boot YAML Auto Data Source Configuration Issue - Data Source URL not picked up 【发布时间】:2019-01-08 16:22:00 【问题描述】:目前,我们正在为我们的新模块创建一个 Spring Boot 项目。
我们使用的技术如下:
-
Java 1.8
Maven 3.5.2
Spring Boot:1.5.6.RELEASE (spring-boot-starter-parent)
公共类应用程序
public static void main(String[] args)
SpringApplication.run(Application.class, args);
@Autowired
private DataSource datasource;
application.properties
spring.datasource.url=jdbc:oracle:XXX:@XXX:XXX/XXX spring.datasource.username=XXX spring.datasource.password=XXX spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriverapplication.yml
春天:
个人资料: 活动:“开发” 主要:- 横幅模式:“关闭”
春天:
个人资料:开发人员 数据源: url:jdbc:oracle:XXX:@XXX:XXX/XXX 用户名:XXX 密码:XXX 驱动程序类名:oracle.jdbc.driver.OracleDriver当我们将数据源信息添加为属性文件时,应用程序按预期工作。但是作为 YAML 的信息意味着显示以下错误。
错误
上下文初始化期间遇到异常 - 取消刷新尝试:org.springframework.beans.factory.UnsatisfiedDependencyException:创建名称为“testapplication”的bean时出错:通过字段“datasource”表示的依赖关系不满足;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建类路径资源中定义的名称为“dataSource”的 bean 时出错 [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Tomcat.class]:Bean 实例化通过工厂方法失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 [org.apache.tomcat.jdbc.pool.DataSource]:工厂方法 'dataSource' 抛出异常;嵌套异常是 org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException:无法确定数据库类型 NONE 的嵌入式数据库驱动程序类。如果您想要一个嵌入式数据库,请在类路径中放置一个受支持的数据库。如果您有要从特定配置文件加载的数据库设置,您可能需要激活它(配置文件“dev”当前处于活动状态)。
【问题讨论】:
没有源代码就帮不上什么忙了...另外请尝试提供MCVE yml 中的 spring:profiles:active 属性值是多少? spring:profiles:active:“dev” main:banner-mode:“off”---driver-class-name:oracle.jdbc.driver.OracleDriver
的冒号后面有空格吗?如果不是那是错误的。根据 yml 约定,您需要在冒号后有一个空格
没有空格@pvpkiran
【参考方案1】:
Yml 标准要求我们在冒号后指定一个空格 (:
)。请查看documentation
像这样更改您的 yml,它应该可以正常工作。
spring:
profiles: dev
datasource:
url: jdbc:oracle:XXX:@XXX:XXX/XXX
username: XXX
password: XXX
driver-class-name: oracle.jdbc.driver.OracleDriver
【讨论】:
以上是关于Spring Boot YAML 自动数据源配置问题 - 未拾取数据源 URL的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot 学习笔记 -- [spring Boot配置文件之YAML格式, springBoot自动配置浅入,springboot集成JDBC]
Spring Boot:使用 yaml 中配置的 Maven 属性