2017-09-20 98 views
0

我正在使用新版本的Spring啓動 - 1.5.7。 但是,當我創建JPA依賴新的春天啓動項目, 我奇怪的錯誤:spring-boot-starter-data-jpa依賴關係錯誤

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'javax.sql.DataSource' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}

任何人可以幫助我: 這是我pom.xml

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.example</groupId> 
    <artifactId>demo-11</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <name>demo-11</name> 
    <description>Demo project for Spring Boot</description> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.5.7.RELEASE</version> 
     <relativePath/> <!-- lookup parent from repository --> 
    </parent> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
     <java.version>1.8</java.version> 
    </properties> 

    <dependencies> 
    <dependency> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-starter-data-jpa</artifactId> 

      </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
     </plugins> 
    </build> 



</project> 
+0

發佈你的application.properties文件 –

+0

爲了測試這個問題,我創建了一個jpa依賴的新的spring starter項目,所以我的application.properties文件是空的。但是,我曾與oracle數據庫,否則,當我添加oracle依賴它給我同樣的錯誤。 \t \t \t com.oracle \t \t \t ojdbc7 \t \t \t 12.1.0.1.0 \t \t korisnik1

回答

2

您需要包括一個數據庫在你的依賴關係中。 如果找到數據庫,spring引導會自動爲您配置數據源。

看到這個例子,其中包括一個h2數據庫。

https://spring.io/guides/gs/accessing-data-jpa/

+0

我加入oracle的依賴性 \t \t \t com.oracle \t \t \t ojdbc7 \t \t \t 12.1.0.1.0 \t \t,但它給了我同樣的錯誤。我與MySQL ALSE嘗試: MySQL的 使用mysql-connector-java的 ,但它ALSE給我同樣的錯誤 – korisnik1

0

你需要把你的數據庫相關的信息在application.properties文件

spring.jpa.hibernate.ddl-auto=create 
spring.datasource.url=jdbc:mysql://localhost:3306/db_example 
spring.datasource.username=springuser 
spring.datasource.password=ThePassword 

而且你需要把數據庫的依賴在你的pom.xml

<dependency> 
    <groupId>mysql</groupId> 
    <artifactId>mysql-connector-java</artifactId> 
</dependency> 

這是如何在官方網站上列出的mysql,你可以試試你選擇的數據庫。

+0

我加入甲骨文依賴 \t \t \t com.oracle \t \t \t ojdbc7 \t \t \t 12.1.0.1。0 \t \t(在此之前,我將oracle ojdbc7.jar導入到Maven存儲庫中)。另外,我更改了application.properties文件:spring.jpa.hibernate.ddl-auto = create spring.datasource.url = jdbc:oracle:thin:@___________:1521/****** spring.datasource.username = ******* spring.datasource.password = *******,但它再次給我同樣的錯誤 – korisnik1

+0

如果你可以在git上發佈你的整個項目或我可以看一看。 –