Обе бобы должны быть полноценными @ManagedBean
. Акцептор должен иметь метод открытого установщика для внедренного компонента. Внедренный компонент доступен только в @PostConstruct
и более поздних версиях (т. Е. Во всех обычных методах событий, но, таким образом, не в конструкторе акцептора).
Итак, это должно сработать:
@ManagedBean
@ApplicationScoped
public class Navigation {
// ...
}
@ManagedBean
@RequestScoped
public class Module {
@ManagedProperty(value="#{navigation}")
private Navigation navigation;
@PostConstruct
public void init() {
navigation.doSomething();
}
public void setNavigation(Navigation navigation) {
this.navigation = navigation;
}
}