Dependency Injection not working in "MainLayout" with Navigation

I am using vaadin 12.

I have at the Start-Window MainLayout the following working code:

@HtmlImport("frontend://styles/shared-styles.html")
@Viewport("width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes")
@Theme(value = Lumo.class)
@Route("")
public class MainLayout extends Div implements RouterLayout {
	private RouterLink aboutLink;
	private Div navigation;

	public MainLayout() {
		...
		aboutLink = new RouterLink(null, About.class);
		navigation = new Div(aboutLink);
		add(navigation);
	}
	
	@PostConstruct
	void init() {
		Button userButton = new Button("Name");
		userButton.addClickListener(e -> {
			userButton.getUI().ifPresent(ui -> ui.navigate("UserView"));
		});
		navigation.add(userButton);
	}
}

When i want now inject a Service, i can not call Values of the service

@HtmlImport("frontend://styles/shared-styles.html")
@Viewport("width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes")
@Theme(value = Lumo.class)
@Route("")
public class MainLayout extends Div implements RouterLayout {
	@Inject
	Service service;
	
	private RouterLink aboutLink;
	private Div navigation;

	public MainLayout() {
		...
		aboutLink = new RouterLink(null, About.class);
		navigation = new Div(aboutLink);
		add(navigation;
	}
	
	@PostConstruct
	void init() {
		Button userButton = new Button(service.getName());
		userButton.addClickListener(e -> {
			userButton.getUI().ifPresent(ui -> ui.navigate("UserView"));
		});
		navigation.add(userButton);
	}
}

The error comes in this line:

Button userButton = new Button(service.getName());

It might help us to know which error comes…
Did you include vaadin-cdi (10.0.0) as a dependency?