Spring Boot: поле требовало bean-компонента типа, который не удалось найтиJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Spring Boot: поле требовало bean-компонента типа, который не удалось найти

Сообщение Anonymous »

Я изучаю начальное руководство по JPA для Spring Boot, но у меня возникают трудности.
Я знаю, что этот вопрос иногда задавался здесь ('Поле требуется компонент типа, который не удалось найти.' ошибка Spring RESTful API с использованием MongoDB)
Но эти проблемы немного отличаются от тех, что есть у меня.
Структура

Код: Выделить всё

java
|
helloWorld
|
web/ -- HelloWorldController
Application
Customer
CustomerRepository
ServletInitializer
Как видите, все мои пакеты, связанные с JPA, находятся на том же уровне, что и мой файл приложения. Согласно руководству (Доступ к данным с помощью JPA) это должно работать
Класс моего приложения

Код: Выделить всё

package helloWorld;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.annotation.ComponentScan;

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

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

@Autowired
CustomerRepository customerRepository;

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
}
Репозиторий клиентов

Код: Выделить всё

package helloWorld;

import org.springframework.data.repository.CrudRepository;

import java.util.List;

public interface CustomerRepository extends CrudRepository {

List findByLastName(String lastName);
}
При попытке использовать @Autowired я получаю

Код: Выделить всё

***************************
APPLICATION FAILED TO START
***************************

Description:

Field customerRepository in helloWorld.Application required a bean of type 'helloWorld.CustomerRepository' that could not be found.

Action:

Consider defining a bean of type 'helloWorld.CustomerRepository' in your configuration.
Кроме того, добавление scanBasePackages={"helloWorld"}) в @SpringBootApplication не помогает и, судя по тому, что я прочитал, оно также не должно понадобиться.
:[/b]

Код: Выделить всё

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0

helloWorld.com.example
helloWorld
0.0.1-SNAPSHOT
war

fireCommerce
Demo project for Spring Boot


org.springframework.boot
spring-boot-starter-parent
2.0.4.RELEASE
  



UTF-8
UTF-8
1.8




org.springframework.boot
spring-boot-starter-data-jpa


com.h2database
h2


org.springframework.boot
spring-boot-starter-web



org.springframework.boot
spring-boot-devtools
runtime


org.springframework.boot
spring-boot-starter-tomcat
provided


org.springframework.boot
spring-boot-starter-test
test






org.springframework.boot
spring-boot-maven-plugin


com.microsoft.azure
azure-webapp-maven-plugin
1.1.0

maven-projects
${project.artifactId}-${maven.build.timestamp}
westus
1.8
war






ссылка на проект GitHub


Подробнее здесь: https://stackoverflow.com/questions/521 ... t-be-found
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»