1。使用 SpringBoot 應用程式:
將 JavaFX 應用程式與 SpringBoot 應用程式整合是存取 Spring 完整相依性注入功能的直接方法。透過將您的應用程式註解為 @SpringBootApplication,您可以利用 Spring 上下文並使用自動組裝將依賴項注入控制器和 bean。2.將 Bean 注入非 Spring 託管類別:
如果您希望將 JavaFX 應用程式與 Spring 分開,您可以使用 Spring 的 AutowireCapableBeanFactory 手動注入相依性。在 init() 方法中,您可以使用 autowireBeanProperties() 將 Bean 注入到應用程式類別實例中。3.使用自訂作用域:
透過使用@Scope("prototype") 註解JavaFX 控制器,您可以確保控制器的每個實例都是使用一組新的依賴項建立的。這在您需要為不同視圖維護單獨的 ViewModel 的情況下非常有用。<code class="java">@Component @Scope("prototype") public class DemoController { @Autowired private EmployeeRepo employeeRepo; public void initialize() { List<Employee> employees = employeeRepo.findAll(); // Handle the retrieved employees here... } }</code>在JavaFX 應用程式的init()方法中,載入Spring 上下文並使用fxmlLoader.setControllerFactory() 方法允許Spring 將依賴項注入到FXML 控制器中。
<code class="java">public void init() throws Exception { ApplicationContext springContext = SpringApplication.run(DemoApplication.class); FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/sample.fxml")); fxmlLoader.setControllerFactory(springContext::getBean); root = fxmlLoader.load(); }</code>
以上是如何使用 Spring 將依賴注入整合到我的 JavaFX 應用程式中,以及實現它的不同方法是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!