- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我运行我的独立 Web 应用程序时,spring 无法实例化数据源 bean。请注意,我不想在此项目中使用 JPA 或休眠。在这一点上我不知道为什么。我最好的猜测是依赖项或语法问题,但我无法找到解决问题的方法。
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'gameoo' defined in class path resource [com/hf/database/Datasource.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.sql.DataSource]: Factory method 'get' threw exception; nested exception is java.lang.IllegalStateException: No supported DataSource type found
如果有人有一些见解或可以帮助我解决这个问题,那就太好了。
下面是我的“spring.properties”文件
# Datasource properties
spring.datasource.driver-class-name = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/gameoo?autoReconnect=true&useSSL=true
spring.datasource.username = user
spring.datasource.password = pass
spring.datasource.initialSize = 1
spring.datasource.maxActive = 5
# HikariCP settings (spring.datasource.hikari.*)
spring.datasource.hikari.connection-timeout = 60000 #60 sec
spring.datasource.hikari.maximum-pool-size = 5 # max 5
导致问题的数据源类:
import javax.sql.DataSource
import org.springframework.boot.context.properties.ConfigurationProperties
import org.springframework.boot.jdbc.DataSourceBuilder
import org.springframework.context.annotation.{Bean, Configuration, Primary, PropertySource}
@Configuration
@PropertySource(Array("classpath:spring.properties"))
class Datasource {
@Primary
@Bean(name = Array("gameoo"))
@ConfigurationProperties(prefix = "spring.datasource")
def get: DataSource = {
DataSourceBuilder.create().build()
}
}
我的主要应用类如下
import org.springframework.boot.SpringApplication
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.context.annotation.ComponentScan
@SpringBootApplication
@ComponentScan(Array[String]("com.hf"))
class AppRunner
object HexFrontier
{
def main(args: Array[String]): Unit = {
System.setProperty("spring.config.name", "spring")
SpringApplication.run(classOf[AppRunner])
}
}
最后是我的gradle依赖文件
plugins {
id 'java'
id 'scala'
}
group 'com.hf'
version '1.0'
repositories {
mavenCentral()
}
sourceCompatibility = 1.8
sourceSets {
main.java.srcDirs = ['src/main/hf']
test.java.srcDirs = ['src/test/hf']
main.resources.srcDirs = ['src/main/resources']
}
configurations.all {
resolutionStrategy.cacheChangingModulesFor 1, 'minutes'
}
compileJava {
options.compilerArgs += ["-proc:none"]
}
dependencies {
// Scala
compile('org.scala-lang:scala-library:2.12.8')
// Spring
compile group: 'org.springframework.boot', name: 'spring-boot', version: '2.1.2.RELEASE'
compile group: 'org.springframework.boot', name: 'spring-boot-autoconfigure', version: '2.1.2.RELEASE'
compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.1.2.RELEASE'
compile group: 'org.springframework.boot', name: 'spring-boot-starter-actuator', version: '2.1.2.RELEASE'
compile group: 'org.springframework', name: 'spring-core', version: '5.1.5.RELEASE'
compile group: 'org.springframework', name: 'spring-beans', version: '5.1.5.RELEASE'
compile group: 'org.springframework', name: 'spring-context', version: '5.1.5.RELEASE'
compile group: 'org.springframework', name: 'spring-web', version: '5.1.5.RELEASE'
compile group: 'org.springframework', name: 'spring-webmvc', version: '5.1.5.RELEASE'
compile group: 'org.springframework', name: 'spring-aop', version: '5.1.5.RELEASE'
compile group: 'org.springframework', name: 'spring-jdbc', version: '5.1.5.RELEASE'
// compile group: 'org.springframework.data', name: 'spring-data-commons', version: '2.1.4.RELEASE'
// servlets
compile group: 'javax.servlet', name: 'javax.servlet-api', version: '4.0.1'
compile group: 'javax.persistence', name: 'javax.persistence-api', version: '2.2'
compile group: 'javax.transaction', name: 'jta', version: '1.1'
compile group: 'javax.xml.bind', name: 'jaxb-api', version: '2.1'
compile group: 'javax.validation', name: 'validation-api', version: '1.0.0.GA'
compile group: 'javax.servlet.jsp', name: 'javax.servlet.jsp-api', version: '2.3.3'
compile group: 'javax.annotation', name: 'javax.annotation-api', version: '1.3.2'
// mysql jdbc
compile group: 'mysql', name: 'mysql-connector-java', version: '8.0.15'
// Logging
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.11.0'
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.11.0'
// JSON / Yaml / Config support
compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.9.8'
compile group: 'com.fasterxml.jackson.module', name: 'jackson-module-scala_2.12', version: '2.9.8'
compile group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: '2.9.8'
compile group: 'com.typesafe', name: 'config', version: '1.3.3'
// Testing
testCompile group: 'org.hamcrest', name: 'hamcrest-all', version: '1.3'
testCompile group: 'junit', name: 'junit', version: '4.12'
}
最佳答案
Failed to instantiate [javax.sql.DataSource]: Factory method 'get' threw exception; nested exception is java.lang.IllegalStateException: No supported DataSource type found
如果在 build()
之前调用 type()
没有设置 DataSource 类名,DataSourceBuilder
将扫描类路径以查找下面依次介绍DataSource类。如果没有找到,就会发生这个错误。
com.zaxxer.hikari.HikariDataSource
(HikariCP)org.apache.tomcat.jdbc.pool.DataSource
(Tomcat 数据库连接池)org.apache.commons.dbcp2.BasicDataSource
(公共(public) DBCP2)所以你必须在 build.gradle
中包含 HikariCP
。或者简单地使用 spring-boot-starter-jdbc
它将自动获得一个 HikariCP
和 spring-jdbc
并定义一个 DataSource
bean 给你。
所以我建议修改build.gradle
如下:
compile group: 'org.springframework.boot', name: 'spring-boot-starter-jdbc', version: '2.1.2.RELEASE'
//No need as spring-boot-starter-jdbc automatically get this
//compile group: 'org.springframework', name: 'spring-jdbc', version: '5.1.5.RELEASE'
关于scala - Spring boot(使用 Scala)无法实例化 DataSource [未找到支持的 DataSource 类型],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54719293/
更新:将代码更改为立即调用并分配 dataSource ,但我仍然遇到相同的结果,但 sourceData.paginator 正在运行。 sourceData.filter 和 sourceData
我想以编程方式设置我的数据源的模型。像这样的东西: var ds = new kendo.data.DataSource({ //... }); var mod = kendo.data.Model.
我有一个多模块 maven 项目,我想将它与 一起使用tomcat7 maven插件并开始: mvn tomcat7:run 但我不知道如何配置 jndi 数据源。 我试图放入我的 pom.xml:
任何人都可以提供有关如何执行此操作的说明吗?我设置了几个不同的 JDBC 数据源,并希望能够配置用户使用不同的数据源运行相同的报告。例如。当用户A登录并运行报表A时,使用数据源1;当用户 B 登录并运
过去几周我从这个网站收集了许多有用的答案。我加入是为了对一些我认为最有帮助的答案+1,但目前还无法做到这一点。不过谢谢! 我的问题是 JBoss 7 AS 部署错误,我似乎无法追踪任何相关信息。它开始
我们遇到了一个 problem哪里 我们在一个 MDI 工作区中有两个相同窗口的实例,它们绑定(bind)到两个单独的对象模型。 对象模型覆盖了它们的 .Equals 和 .GetHashCode 方
当我运行我的独立 Web 应用程序时,spring 无法实例化数据源 bean。请注意,我不想在此项目中使用 JPA 或休眠。在这一点上我不知道为什么。我最好的猜测是依赖项或语法问题,但我无法找到解决
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我的项目使用springBoot2,并且不需要连接数据库,但是springboot自动配置数据源并在启动项目时抛出异常。我已经添加了执行,但它不起作用 @SpringBootApplication(e
我指的是下面的链接来设置环回框架并创建简单的 API https://docs.strongloop.com/display/public/LB/Getting+started+with+LoopBa
我在 SPringBoot 中的数据源有问题。我想使用 JDBC 并从数据源获取数据,但出现错误:说明: com.example.My.MyApplication 中的字段 dataSource 需要
这是在我的 spring-servlet.xml 文件中定义的具有此 id 的 bean 这是完整的堆栈跟踪 SEVERE: Exception sending context initialize
我正在尝试使用 Spring、Maven 和 Hibernate 创建一个访问 sql server 数据库的应用程序。当我尝试运行应用程序时出现以下错误: Exception in thread "
当我运行我的网络应用程序时抛出以下错误。 Exception encountered during context initialization - cancelling refresh attemp
我正在研究 Spring Boot JDBC MYSQL 示例。在这个例子中,我使用了 1.3.1.RELEASE spring boot starter 版本,当时我使用了以下 2 spring.d
Feb 20, 2012 6:30:45 AM org.apache.catalina.core.ApplicationContext log INFO: Initializing Spring ro
我引用了网址:https://o7planning.org/en/11727/understanding-spring-cloud-config-client-with-example没有任何自定义,
spring.jpa.hibernate.ddl-auto=update spring.datasource.url=jdbc:mysql://localhost:3306/study?serverT
我有一个多线程作业(同时运行 6 个作业),这些作业使用 3 个数据源(第一个数据源上有 2 个,第二个数据源上有另外 2 个,第三个数据源上有最后 2 个)。 /* *************
我正在尝试实现从CurrencyExchange模块到CurrencyConvert的开放字段调用,但我被这个错误卡住了。有谁能帮帮我吗?我已经检查了其他答案,并试图添加#spring.datasou
我是一名优秀的程序员,十分优秀!