Wie autowire Frühling-Daten CrudRepository

Ein bisschen Details
Ich bin mit einigen problem, während der Ausführung den unten angegebenen code ein. Ich erhalte die folgende Ausnahme. Wenn ich versuche den sample code von [CrudRepository für Spring Data][1].

Ich haben eine Schnittstelle:

package com.joydeep.springboot; 

import org.springframework.data.repository.CrudRepository; 
import com.joydeep.springboot.vo.Message; 

public interface Test1 extends CrudRepository<Message, String> { }

VO Klasse:

package com.joydeep.springboot.vo;

import java.util.Date;    
import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class Message {
    @Id
    private String id;
    private String text;
    private String author;
    private Date created;

    public Message() {
        super();
    }
    public Message(String id, String text, String author, Date created) {
        super();
        this.id = id;
        this.text = text;
        this.author = author;
        this.created = created;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getText() {
        return text;
    }
    public void setText(String text) {
        this.text = text;
    }
    public String getAuthor() {
        return author;
    }
    public void setAuthor(String author) {
        this.author = author;
    }
    public Date getCreated() {
        return created;
    }
    public void setCreated(Date created) {
        this.created = created;
    }
    }

Controller-Klasse:

package com.joydeep.springboot; 
import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RestController;  

@RestController 
public class HelloCntrl { 

   @Autowired 
   Test1 test; 

   @RequestMapping("/hello")
   public String sayHi(){
      return "Hi"; 
   } 

}

Initialisierer der Klasse:

package com.joydeep.springboot; 
import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 

@SpringBootApplication 
public class CourseAPIStarter { 
   public static void main(String[] args) {
      SpringApplication.run(CourseAPIStarter.class); 
   } 
}

pom.xml:

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>io.springboot</groupId>
    <artifactId>rest-course-api</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>Rest service course API</name>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.2.RELEASE</version>
    </parent>
    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>

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

        <dependency>
            <groupId>org.apache.derby</groupId>
            <artifactId>derby</artifactId>
            <scope>runtime</scope>
        </dependency>

    </dependencies>
</project>

Ausnahme ist aufgetreten, während die Initialisierung des Contextes - cancelling-refresh-Versuch:
org.springframework.Bohnen.factory.UnsatisfiedDependencyException: Fehler beim erstellen bean mit dem Namen 'helloCntrl': Unzufrieden Abhängigkeit ausgedrückt durch das Feld 'test'; verschachtelte Ausnahme ist org.springframework.Bohnen.factory.NoSuchBeanDefinitionException: Keine Qualifikation bean des Typs " com.joydeep.springboot.Test1' verfügbar: voraussichtlich mindestens 1 Bohne, die als qualifiziert autowire-candidate. Abhängigkeit Anmerkungen {@org.springframework.Bohnen.factory.Anmerkung.Autowired(required=true)}

Dem Beispiel, das ich mich beziehe, ist von diesem link.

https://spring.io/guides/gs/accessing-data-jpa/
  • Bitte formatieren Sie den code properbly
  • Der Fehler sagt, dass Sie nicht über eine Test1-Klasse in der Spring container.
  • Einfach durch einen Blick auf Sie haben unerfüllte Abhängigkeiten. Überprüfen Sie Ihre pom.xml oder was auch immer build-tool Sie verwenden!
  • Bitte formatieren Sie Ihren code in eine richtige Art und Weise und geben mehr details über das, was Sie tun...
  • Mehr details , format ist jetzt ein bisschen besser .
  • Ich habe verwendet, spring boot und maven zu konfigurieren, das Projekt.
  • bitte helfen Sie uns schriftlich eine angemessene Frage. Wenn Sie frei sind, entnehmen Sie bitte diesem link zur nächsten Frage, die Sie veröffentlichen. stackoverflow.com/help/how-to-ask
  • versuchen addiing @EnableJpaRepositories(basePackages = {"joydeep.com"}) in Test1
  • Seltsamerweise 1.4.2.RELEASE ich bin nicht in der Lage zu finden, EnableJpaRepositories. Mit Spring boot ist es nicht so, dass EnableJpaRepository automatisch aktiviert wird.
  • im import org.springframework.Daten.jpa.repository.config.EnableJpaRepositories;
  • Eine weitere Sache, von der spec -> standardmäßig, Spring Boot wird es ermöglichen, JPA-repository-Unterstützung und suchen Sie in das Paket (und seine Unterpakete), wo SpringBootApplication liegt. Wenn Ihre Konfiguration JPA-repository interface-Definitionen befindet sich in einem Paket nicht sichtbar, Sie können Alternative Pakete mit EnableJpaRepositories und Ihre Art-sicher basePackageClasses=MyRepository.class parameter.
  • Es scheint, dass der Import org.springframework.Daten.jpa.repository.config.EnableJpaRepositories fehlt.

InformationsquelleAutor Joydeep | 2017-01-10
Schreibe einen Kommentar