Ich bin neu bei Springboot und ich lerne von Spings Tutorials und Anleitungen zu "https://spring.io/guides".So beheben Sie den Fehler "Benötigte a Bean"
Im Moment versuche ich, das Tutorial zu verstehen und wiederholen: "Accessing data with MySQL"
Unfortunatelly habe ich den Fehler bei der Mavenbuild:
Fehler beim Starten des Application. Um den Autokonfigurationsbericht anzuzeigen, führen Sie Ihre Anwendung erneut mit aktiviertem Debug aus. 2017.12.07 10: 26: 42,708 ERROR 8100 --- [main] osbdLoggingFailureAnalysisReporter:
KLAGE UNTERLEGEN
Beschreibung Start:
Feld goodRepository in xxx .controller.GoodController benötigte eine Bean vom Typ 'xxx.repositories.GoodRepository', die nicht gefunden werden konnte.
Aktion:
Betrachten Sie eine Bohne vom Typ definieren 'xxx.repositories.GoodRepository' in Ihrer Konfiguration.
Prozess beendet mit Exit-Code 1
Hier ist mein Code:
Good.java:
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import lombok.Data;
@Entity
@Data
public class Good {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
private String name;
public Good() {
}
public void setName(String name) {
this.name = name;
}
}
GoodRepository:
import org.springframework.data.repository.CrudRepository;
import xxx.model.Good;
public interface GoodRepository extends CrudRepository<Good, Long>
{
}
GoodController:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import xxx.model.Good;
import xxx.repositories.GoodRepository;
@Controller
@RequestMapping(path="/goods")
public class GoodController {
@Autowired
private GoodRepository goodRepository;
@GetMapping(path="/add")
public @ResponseBody String addNewGod(@RequestParam String name)
{
Good god= new Good();
god.setName(name);
goodRepository.save(god);
return "Saved";
}
@GetMapping(path="/all")
public @ResponseBody Iterable<Good> getAllGods()
{
return goodRepository.findAll();
}
}
Mein application.properties:
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost:3306/gccontest
spring.datasource.username=xxx
spring.datasource.password=xxx
die mysql-db existiert auf diesem Port ...
Was habe ich, wo falsch?
Haben Sie Ihre Datenbank eingerichtet? –
Ja, ähnlich wie im Tutorial. Die Frage ist aktualisiert .. – Tagamoga
Versuchen Sie, Ihr Repository mit '@ Repository' zu kommentieren. –