Рассмотрите возможность определения компонента с именем entityManagerFactory: для класса требуется компонент с именем entityManagerFactory, который не может быть найден - PullRequest
0 голосов
/ 07 ноября 2019

Я создал приложение Spring Boot и создал класс с методами, которые я хочу выполнить. При развертывании проекта в качестве файла войны я получаю сообщения об ошибках:

  • ParseUpcomingMatchesFile требуется компонент с именем entityManagerFactory, который не может быть найден. Подумайте об определении bean-компонента с именем entityManagerFactory в вашей конфигурации.
  • Ошибка создания bean-компонента с именем 'parseUpcomingMatchesFile': неудовлетворенная зависимость, выраженная через поле 'matchRepository';
  • Ошибка создания компонента с именем «matchRepository»: невозможно создать внутренний компонент «(внутренний компонент) # 2875c2a3» типа [org.springframework.orm.jpa.SharedEntityManagerCreator] при установке свойства компонента «entityManager»;

Я покажу некоторые части моего кода:


@Configuration
@EnableAsync
@EnableScheduling
@ComponentScan(basePackages={"parser", "service", "processing", "automation"})
public class TennisExecutor extends SpringBootServletInitializer {

    @Autowired
    public ParseUpcomingMatchesFile parseUpcomingMatchesFile;

    @Autowired
    public ParseFinishedMatchesFile parseFinishedMatchesFile;

    @Autowired
    public PlayersProcessor playersProcessor;

    public TennisExecutor() {}

    @Scheduled(cron = "0 */2 * * * ?")
    public void executeTasks() throws IOException {

         parseUpcomingMatchesFile.parseMatchesFile(webDriver, new File(ConstantData.TOMORROW_UPCOMING_MATCHES_FILE_PATH));

     }

@Component
@EnableJpaRepositories(basePackageClasses={MatchesRepository.class, PlayersRepository.class})
@EntityScan(basePackageClasses={MatchesEntity.class, PlayersEntity.class})
public class ParseUpcomingMatchesFile {

    @Autowired
    public MatchesRepository matchesRepository;

    @Autowired
    public PlayersRepository playersRepository;

    static final org.apache.log4j.Logger logger = Logger.getLogger(ParseUpcomingMatchesFile.class);

    public ParseUpcomingMatchesFile() {
    }

    public void parseMatchesFile(WebDriver webDriver, File file) throws IOException {

    String fullNameOne = "player1";
    String fullNameTwo = "player2";
    int matchId = matchesRepository.selectIdByPlayerNames(fullNameOne, fullNameTwo);

    }
}

@Repository
public interface MatchesRepository extends CrudRepository<MatchesEntity, Integer> {   

    @Query(value = "select m from MatchesEntity m")
    List<MatchesEntity> selectAllMatches();

    @Query(value = "select m.id from MatchesEntity m where m.namePlayer1 = :namePlayer1 and " +
            "m.namePlayer2 = :namePlayer2")
    int selectIdByPlayerNames(String namePlayer1, String namePlayer2);

   }

Я попытался удалить папку .m2 / repository, добавил зависимость для spring-data-JPA, но без изменений. У кого-нибудь есть предложения?

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