[vaadin] nullPointerExecption при попытке использовать службу в конструкторе представления

Я новичок в vaadin flow. Я пытаюсь создать представление списка, следуя руководству, предоставленному на сайте. https://vaadin.com/docs/v14/flow/tutorials/in-depth-course/configuring-vaadin-grid

@Route("")
public class MainView extends VerticalLayout {

    private ContactService contactService;
    private Grid<Contact> grid = new Grid<>(Contact.class);

    public MainView(ContactService contactService) {
        this.contactService = contactService; 
        addClassName("list-view");
        setSizeFull();
        configureGrid();

        add(grid);
        updateList(); 
    }

    private void configureGrid() {
        grid.addClassName("contact-grid");
        grid.setSizeFull();
        grid.setColumns("firstName", "lastName", "email", "status");
    }

    private void updateList() {
        grid.setItems(contactService.findAll());
    }

}

Здесь, когда я выполняю метод updateList (), я получаю nullPointerExecption в экземпляре службы. Я пробовал использовать repository.findAll (), но столкнулся с той же проблемой.

Чтобы проверить, есть ли проблема в сервисе, я создал REST API и вызвал тот же метод в сервисе, здесь я получаю правильный результат. Пожалуйста помоги.

Это ошибка, которую я получаю.

There was an exception while trying to navigate to '' with the exception message 'Error creating bean with name 'com.example.demo.ui.MainView': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.example.demo.ui.MainView]: Constructor threw exception; nested exception is java.lang.NullPointerException'

person Abhishek Babhulkar    schedule 19.05.2021    source источник
comment
Похоже, вы получаете нулевой сервис в качестве параметра. Не могли бы вы также показать, как вы создаете MainView?   -  person Anna Koskinen    schedule 19.05.2021
comment
Можете ли вы показать нам фактическую трассировку стека ошибки?   -  person Henry    schedule 19.05.2021
comment
Привет, Анна, да, я получаю нулевое обслуживание для этого места в коде. There was an exception while trying to navigate to '' with the exception message 'Error creating bean with name 'com.example.demo.ui.MainView': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.example.demo.ui.MainView]: Constructor threw exception; nested exception is java.lang.NullPointerException' это полная трассировка стека   -  person Abhishek Babhulkar    schedule 19.05.2021
comment
Как выглядит ваша структура каталогов? Находятся ли представления под SpringBootApplication в дереве пакетов?   -  person Simon Martinelli    schedule 20.05.2021
comment
Я имел в виду, что не могли бы вы добавить код где-нибудь за пределами MainView, где вы создаете MainView?   -  person Anna Koskinen    schedule 20.05.2021


Ответы (1)


Аннотировать свою реализацию ContactService с помощью @Service?

person lutfijd    schedule 20.05.2021
comment
Спасибо, раньше я использовал @Component в этом классе. Также я использовал инъекцию зависимостей членов вместо инъекции параметров. Итак, это решило мою проблему. - person Abhishek Babhulkar; 21.05.2021