Загрузка Sprin: компонент репозитория не найден

#spring #spring-boot #spring-data-jpa #spring-data

Вопрос:

Я создаю приложения, которые могли бы использовать одни и те же сущности и классы репозитория. Поэтому я создаю библиотеку с этими объектами, устанавливаю ее в Maven и включаю зависимость pom.xml в новый проект. Однако, когда я вызываю страницу, появляется ошибка ниже.

Библиотека содержит класс БД конфигурации, и в объявлении службы all в контроллере нового проекта я использую аннотацию @Autowired . Tomcat не показывает никаких проблем при запуске.

 Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2021-08-02 09:54:53.546 ERROR 20368 --- [  restartedMain] o.s.b.d.LoggingFailureAnalysisReporter   : 

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

Description:

Field repository in br.com.service.PersonService required a bean of type 'br.com.repository.PersonRepository' that could not be found.

The injection point has the following annotations:
    - @org.springframework.beans.factory.annotation.Autowired(required=true)


Action:

Consider defining a bean of type 'br.com.repository.PersonRepository' in your configuration.
 

Редактировать:

Конфигурация:

 @SpringBootApplication
@EntityScan(basePackages = { "br.com.*" })
@EnableCassandraRepositories(basePackages = { "br.com.*" })
@ComponentScan(basePackages = {"br.com.*"})
public class App extends SpringBootServletInitializer 
{
    public static void main( String[] args )
    {
        SpringApplication.run(App.class, args);
    }
}
 

POM.XML с моей библиотекой с объектами общего пользования:

 <dependency>
     <groupId>br.com</groupId>
     <artifactId>objetos.base</artifactId>
     <version>1.2.2</version>
</dependency>
 

Репозиторий Lib:

 @Repository
public interface  PersonRepository  extends CassandraRepository<Person, UUID>{
 

Служба Lib:

 @Service
public class PersonService {

    @Autowired
    private PersonRepository repository;
 

Кто-нибудь имеет хоть малейшее представление о том, что происходит?

Комментарии:

1. Это PersonRepository внушено @Repository ?

2. вы пробовали назвать пакет без подстановочного знака? @EnableCassandraRepositories(basePackages = { "br.com.repository" } ) или просто @EnableCassandraRepositories("br.com.repository")

3. @thepaoloboi, я обновил вопрос.

4. Ваша реализация кажется мне правильной. Я попытался воспроизвести ваш вариант использования, и все прошло хорошо. Какую версию spring-boot вы используете?

5. Вы нашли ответ на этот вопрос? Просто взглянув на некоторые примеры , нужно ли вам предоставлять базовый класс конфигурации AbstractCassandraConfiguration ?