@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