Я создал приложение 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, но без изменений. У кого-нибудь есть предложения?