我正在为我的Java应用程序遵循MVC模式。因此,我有一个用于View的类(通常扩展任何布局,例如Gridpane,HBox等),另一个用于Controller。
某些背景:由于我要构建的应用程序将在旧计算机上运行,因此运行时间至关重要。在分析过程中,我发现FXML解析花费的时间更长,因此我切换到了类。
现在回到问题所在:由于我正在使用View的类,因此我需要一些自动机制来将View类与控制器绑定(就像FXML加载器一样)。
所以我当时想像有一些注释
@Controller(MainController.class)
public class MainView extends GridPane {
private Button btn = new Button();
...
}
和控制器
public class MainController {
@FXML
private Button btn; // <--- This will be injected automatically from View class
}
所以我的问题在这里
如何拦截MainView类对象的创建,以便可以实例化相同的控制器对象并使用反射注入字段?
P.S:正如我提到的,应用程序将在遗留系统上运行,所以我不想使用任何第三方框架(尽管我可以使用一些轻量级的库)