Spring Boot + JavaFx 自动装配不起作用

昨天我尝试创建连接 Spring Boot 和 JavaFX 的项目。

因此,我创建了一个项目,当我运行应用程序时,将创建 spring 上下文并运行 JavaFx 应用程序。但问题是当我尝试创建一些bean时,例如使用@Repository注释。当我自动装配时,值为空。

CarGarageApplication.java

package com.car.garage;


import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.context.ConfigurableApplicationContext;

import org.springframework.context.annotation.ComponentScan;

import org.springframework.data.jpa.repository.config.EnableJpaRepositories;


import com.car.garage.dao.UsersRepository;


import javafx.application.Application;

import javafx.fxml.FXMLLoader;

import javafx.scene.Parent;

import javafx.scene.Scene;

import javafx.stage.Stage;


@SpringBootApplication

@ComponentScan

@EnableJpaRepositories("com.car.garage.dao")

public class CarGarageApplication extends Application {


    private ConfigurableApplicationContext mainContext;

    private Parent rootNode;


    @Autowired

    UsersRepository usersRepository;


    public static void main(String[] args) {

        Application.launch(args);

    }


    @Override

    public void init() throws Exception {

        mainContext = SpringApplication.run(CarGarageApplication.class);

        FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/WelcomePage.fxml"));

        loader.setControllerFactory(mainContext::getBean);

        rootNode = loader.load();

    }


    @Override

    public void start(Stage primaryStage) throws Exception {

        primaryStage.setScene(new Scene(rootNode));

        primaryStage.setResizable(false);

        primaryStage.show();

        System.out.println(usersRepository);

    }


    @Override

    public void stop() throws Exception {

        mainContext.close();

    }

}



九州编程
浏览 153回答 1
1回答

慕村9548890

我们应该遵循以下方法来自动装配存储库类。因为从自动装配另一个类的地方必须有 SPRING STEREOTYPES 类(@Component,@Service 这样的)@Component public class Anotherclass{     @Autowired     private UsersRepository usersRepository;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java