Проект JavaFX со сваркой также в подпроекте - PullRequest
0 голосов
/ 04 ноября 2018

У меня есть следующая структура:

  • JavaFX-проект для графического интерфейса с некоторыми классами Service для этого.
  • Базовый проект, содержащий бизнес-логику и логику постоянства.
  • ядро ​​подключено к графическому интерфейсу через Maven:

.

<dependency>
    <groupId>com.andwari.core</groupId>
    <artifactId>my-core</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>

Моя цель - обеспечить инъекцию и подобные вещи сваркой Jboss.

Я успешно реализовал это в проекте JavaFX с этим руководством: http://fxapps.blogspot.com/2017/10/using-cdi-20-in-javafx-application.html

Таким образом, внедрение отлично работает в этом проекте, но НЕ в подпроекте (ядре). Как сделать так, чтобы контейнер базовых проектов также был известен контейнеру? Обучающие программы и объяснения по этому поводу очень редки или слишком конкретны, поэтому я понятия не имею, как это работает.

Мой код установки CDI в основном такой же, как и в учебнике. (https://github.com/AprendendoJava/javafx-basic-tutorials/tree/master/blog-javafx/javafx-cdi2)

@SuppressWarnings("serial")
@Override
public void start(Stage primaryStage) {
    SeContainerInitializer initializer = SeContainerInitializer.newInstance();
    final SeContainer container = initializer.initialize();
    container.getBeanManager().fireEvent(primaryStage, new AnnotationLiteral<StartupScene>() {});
}

Пример: * * тысяча двадцать-пять

У меня есть такой контроллер javafx:

public class EventPlayerSelectionController {
    ...
    @FXML
    private Button btnStartEvent;

    @Inject
    private TabPlayerService tabPlayerService;
    ...
    //someMethods
}

Эта инъекция работает нормально, так как эта служба находится в проекте JavaFX. Но внутри TabPlayerService у меня есть:

public class TabPlayerService {

    @Inject
    private PlayerService playerService;
    //some methods
}

Класс PlayerService является базовым. Таким образом, контейнер, очевидно, не может справиться с этим. Как мне сделать эти классы инъекционными ??

...