Springboot Kein gültiges bean des Typs [javax.sql.DataSource]

Ich versuche zu bedienenden Anwendung.Eigenschaften bean datasource-aber es scheint, dass spring boot die Datei nicht findet oder so ähnlich.

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [javax.sql.DataSource] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}

Hier meine Struktur:

 .
├── build.gradle
└── src
    └── main
        ├── java
           └── com
               └── companies
                   ├── CompanyApplication.java
                   ├── config
                      └── WebMvcConfig.java
                   ├── controller
                      └── HelloWorldController.java
                   └── model
                       ├── Article.java
                       ├── daoInterface
                          └── ArticleDaoInterface.java
                       ├── daoTemplates
                          └── ArticleDao.java
                       └── mappers
                           └── ArticleMapper.java
        ├── resources
           └── application.properties
        └── webapp
            └── WEB-INF
                └── pages
                    └── hello.jsp

Ich habe versucht zu bewegen-Anwendung.Eigenschaften-Datei aus den Ressourcen auf config und nichts.
application.properties:

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/name
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

build.gradle

buildscript {
        repositories {
            //Required repos
            mavenCentral()
            maven { url "http://repo.spring.io/snapshot" }
            maven { url "http://repo.spring.io/milestone" }
        }
        dependencies {
            //Required dependency for spring-boot plugin
            classpath "org.springframework.boot:spring-boot-gradle-plugin:1.2.6.RELEASE"
        }
    }

    apply plugin: 'java'
    apply plugin: 'war'
    apply plugin: 'spring-boot'

    jar {
        baseName = 'companies'
        version = '0.2'
    }

    war {
        baseName = 'companies'
        version =  '0.1'
    }

    sourceCompatibility = 1.8
    targetCompatibility = 1.8

    repositories {
        mavenCentral()
        maven { url "http://repo.spring.io/snapshot" }
        maven { url "http://repo.spring.io/milestone" }
    }

    dependencies {
        compile 'org.springframework.boot:spring-boot-starter-web'
        compile("org.springframework.boot:spring-boot-starter")
        compile("org.springframework:spring-jdbc")
        compile('org.springframework.boot:spring-boot-starter-jdbc:1.2.6.RELEASE')
        testCompile("junit:junit")
        //Required dependency for JSP
        compile 'org.apache.tomcat.embed:tomcat-embed-jasper'
    }

Und wo ich versuche zu autowire die dataSource:

package com.companies.model.daoTemplates;

import com.companies.model.Article;
import com.companies.model.daoInterface.ArticleDaoInterface;
import com.companies.model.mappers.ArticleMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

import javax.sql.DataSource;
import java.util.List;

@Repository
public class ArticleDao implements ArticleDaoInterface {

    private JdbcTemplate jdbcTemplateObject;

    private final String DB_NAME = "articles";

    @Override
    @Autowired
    public void setDataSource(DataSource ds) {
        this.jdbcTemplateObject = new JdbcTemplate(ds);
    }

    @Override
    public List<Article> listArticle() {
        String SQL = "select * from " + DB_NAME + " where inactive = false ORDER BY name";
        List <Article> article = jdbcTemplateObject.query(SQL,
                new ArticleMapper());
        return article;
    }

}

CompanyApplication.java

package com.companies;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan
@EnableAutoConfiguration
public class CompanyApplication {

    public static void main(String[] args) {
        SpringApplication.run(CompanyApplication.class, args);
    }

}

Ich kann nicht finden, wo ich versage an.

  • Zeigen CompanyApplication
  • Die Spring-Boot-version verwenden Sie? Sie haben spring-boot-starter-jdbc in Ihrer Abhängigkeit Liste und haben Sie den MySQL-Treiber vorhanden?
  • hatte Recht, ich hatte eine Abhängigkeit linken spring-boot-starter-jdbc. Jetzt bin ich die Probleme mit com.mysql.jdbc.Treiber Cannot load driver class: com.mysql.jdbc.Driver
  • Das ist es, ein dependency-Links, sorry
  • kann yo Antwort an stackoverflow.com/questions/35967143/.... Seine gleiche denken, aber ich bin immer, wo ist das Problem ?
InformationsquelleAutor fritsMaister | 2015-09-27
Schreibe einen Kommentar