Spring Boot с Sqlite3 не может автоматически подключить интерфейс JPArepository - PullRequest
0 голосов
/ 20 марта 2019

Я использую последнюю версию Spring Boot 2.1.3 и Sqlite3 в качестве DB. Нет ошибок при компиляции, но Spring не загружается, вызывая исключение autowire, когда он пытается автоматически связать мой bean-компонент JpaRepository. Я понятия не имею, почему, как Я делаю именно то, что сказал.

Вот мой pom.xml:

<modelVersion>4.0.0</modelVersion>
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.3.RELEASE</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>
<groupId>com.globomatics</groupId>
<artifactId>bike</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>bike</name>
<description>Demo project for Spring Boot</description>

<properties>
    <java.version>8</java.version>
</properties>

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

    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.xerial</groupId>
        <artifactId>sqlite-jdbc</artifactId>
    </dependency>
    <dependency>
        <groupId>com.zsoltfabok</groupId>
        <artifactId>sqlite-dialect</artifactId>
        <version>1.0</version>
    </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>

Вот мой основной класс:

package com.globomatics.bike;

    @SpringBootApplication
    public class BikeApplication {

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

    }

BikeController:

пакет com.globomatics.bike.controllers;

   @RestController
@RequestMapping("/api/v1/bikes")
public class BikesController {

    @Autowired
    private BikeRepository bikeRepository;


      @GetMapping public List<Bike> list(){ return bikeRepository.findAll(); }

Класс моей сущности:

 package com.globomatics.bike.models;

@Entity
@JsonIgnoreProperties({"hibernateLazyInitializer","handler"})
public class Bike {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;

    private String name;
    private String email;
    private String phone;
    private String model;
    private String serialNumber;
    private BigDecimal purchasePrice;

    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "MM-dd-yyyy")
    private Date purchaseDate;
    private boolean contact;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    public String getModel() {
        return model;
    }
    public void setModel(String model) {
        this.model = model;
    }
    public String getSerialNumber() {
        return serialNumber;
    }
    public void setSerialNumber(String serialNumber) {
        this.serialNumber = serialNumber;
    }
    public BigDecimal getPurchasePrice() {
        return purchasePrice;
    }
    public void setPurchasePrice(BigDecimal purchasePrice) {
        this.purchasePrice = purchasePrice;
    }
    public Date getPurchaseDate() {
        return purchaseDate;
    }
    public void setPurchaseDate(Date purchaseDate) {
        this.purchaseDate = purchaseDate;
    }
    public boolean isContact() {
        return contact;
    }
    public void setContact(boolean contact) {
        this.contact = contact;
    }
    public long getId() {
        return id;
    }
    public void setId(long id) {
        this.id = id;
    }


}

И, наконец, вот хранилище:

package com.globomatics.bike.repositories;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import com.globomatics.bike.models.Bike;

public interface BikeRepository extends JpaRepository<Bike, Long> {

}

*************************** Приложение не удалось запустить


Описание:

Field bikeRepository в com.globomatics.bike.controllers.BikesController требуется компонент введите com.globomatics.bike.repositories.BikeRepository, который не может быть найденным.

Точка впрыска имеет следующие аннотации: - @ org.springframework.beans.factory.annotation.Autowired (обязательно = true)

Действие:

Рассмотрим определение бина типа 'com.globomatics.bike.repositories.BikeRepository' в вашем конфигурации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...