Class FXTimiInject
java.lang.Object
com.imyeyu.fx.inject.FXTimiInject
JavaFX 与 TimiInject 集成支持
提供 JavaFX Application 和 Stage 对象到依赖注入容器的集成。
在 Application.start() 方法中调用 register(TimiInject, Application, Stage) 方法即可完成注册和注入。
使用示例:
public class Main extends Application {
@Inject
private SomeService service;
@Override
public void start(Stage stage) {
TimiInject inject = FXTimiInject.run(Main.class, this, stage);
// 现在 service 已经被注入,可以使用了
}
}
- Author:
- 夜雨
-
Method Summary
Modifier and TypeMethodDescriptionstatic voidregister(com.imyeyu.inject.TimiInject inject, javafx.application.Application app, javafx.stage.Stage stage) 将 JavaFX Application 和 Stage 注册到容器,并对 Application 执行字段注入static com.imyeyu.inject.TimiInject启动容器并在初始化前注册 Application 和 Stage
-
Method Details
-
run
public static com.imyeyu.inject.TimiInject run(Class<?> applicationClass, javafx.application.Application app, javafx.stage.Stage stage) 启动容器并在初始化前注册 Application 和 Stage- Parameters:
applicationClass- 启动类app- JavaFX Application 实例stage- JavaFX 主舞台(Primary Stage)- Returns:
- TimiInject 容器实例
-
register
public static void register(com.imyeyu.inject.TimiInject inject, javafx.application.Application app, javafx.stage.Stage stage) 将 JavaFX Application 和 Stage 注册到容器,并对 Application 执行字段注入此方法会:
- 将 Application 对象以 "application" 为名称注册到容器
- 将 Stage 对象以 "stage" 和 "primaryStage" 为名称注册到容器
- 对 Application 对象执行字段注入,使其 @Inject 字段生效
- Parameters:
inject- TimiInject 容器实例app- JavaFX Application 实例stage- JavaFX 主舞台(Primary Stage)
-