@Autowired UserRepository null

Подскажите пожалуйста, в чем может быть проблема? При попытке обратиться к методу сервиса, появляется исключение NPE т.к. userService null

@EnableJpaRepositories("com.example.dtbots.demo.repositories")
public class BotsApplication {

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

}
@Component
public class TelegramMain implements CommandLineRunner {

    public static void main(String[] args) {
        ApiContextInitializer.init();
        TelegramBotsApi telegramBotsApi = new TelegramBotsApi();
        try {
            telegramBotsApi.registerBot(new TelegramMessageInviter());
        } catch (TelegramApiRequestException e) {
            e.printStackTrace();
        }
    }

    @Override
    public void run(String... args) throws Exception {
        main(args);
    }
}
@Autowired
private UserService userService; //null

if (!userService.getUserBySystemId((long) update.getMessage().getFrom().getId()).isPresent()) {
                    User user = User.builder()
                            .systemId((long) update.getMessage().getFrom().getId())
                            .from(TypeFrom.TELEGRAM)
                            .build();
                    userService.addUser(user);
}
@Component
public class UserServiceImpl implements UserService {
    @Autowired
    private UserRepository userRepository;

    @Override
    public void addUser(User user) {
        userRepository.save(user);
    }

    @Override
    public Optional<User> getUserBySystemId(Long systemId) {
        return userRepository.findUserBySystemId(systemId);
    }

    @Override
    public Optional<User> getUserById(Long id) {
        return userRepository.findUserById(id);
    }
}
@Repository
public interface UserRepository extends JpaRepository<User,Long> {
    Optional<User> findUserBySystemId(Long systemId);
    Optional<User> findUserById(Long userId);
}

Ответы (1 шт):

Автор решения: Dmitrii

Спасибо за помощь выше, вроде нашел решение. Добавил эту зависимость

<dependency>
     <groupId>org.telegram</groupId>
     <artifactId>telegrambots-spring-boot-starter</artifactId>
     <version>4.8.1</version>
</dependency>

Далее в BotsApplication переместил строчку: ApiContextInitializer.init(); Убрал класс TelegramMain и пометил класс TelegramMessageInviter аннотацией @Component

→ Ссылка