新建项目

创建常规Spring项目即可,此处使用Maven构建

image-20240529195000091

SQL方面看自己使用哪种数据库

image-20240529195255227

修改pom.xml

dependencies里面添加:

<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>21</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>21</version>
</dependency>
<dependency>
<groupId>com.dlsc.formsfx</groupId>
<artifactId>formsfx-core</artifactId>
<version>11.6.0</version>
<exclusions>
<exclusion>
<groupId>org.openjfx</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.kordamp.ikonli</groupId>
<artifactId>ikonli-javafx</artifactId>
<version>12.3.1</version>
</dependency>
<dependency>
<groupId>org.kordamp.bootstrapfx</groupId>
<artifactId>bootstrapfx-core</artifactId>
<version>0.4.0</version>
</dependency>

<!--mybatis依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>

然后更新一下依赖即可

新建application.yml

resources目录下新建application.yml(以MySQL为例,其他的自己查询(()

spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/你的数据库名
username: 你的账号
password: 你的密码
application:
name: sql

mybatis:
configuration:
map-underscore-to-camel-case: true #开启驼峰命名和下划线命名的自动转换
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

server:
port: 8080

新建JavaFx相关文件

新建fxml

resources目录下新建fxml文件夹,里面放置自己的fxml文件

image-20240529195941044

新建application

在自己的包内新建application包,里面新建一个MyApplication.java

public class MyApplication extends Application {
@Override
public void start(Stage stage) throws IOException {
FXMLLoader fxmlLoader = new FXMLLoader(MainApplication.class.getResource("/fxml/hello-view.fxml"));
Scene scene = new Scene(fxmlLoader.load(), 320, 240);
stage.setTitle("Hello!");
stage.setScene(scene);
stage.show();
}
}

新建controller

和上一步同理,放置对应的controller

public class HelloController {
@FXML
private Label welcomeText;

@FXML
protected void onHelloButtonClick() {
welcomeText.setText("Welcome to JavaFX Application!");
}
}

修改main文件

main方法内,SpringApplication.run()下面添加

Application.launch(MyApplication.class,args);

最后点击运行,就可以了~

image-20240529200356271

常见问题

2024/08/03 补充

SpringBoot + JavaFx 注入为空怎么办?

插播一下

网上有一个springboot-javafx-support的依赖,看似很美好,实际操作跑起来各种运行不了((

也没有更详细的教程,这个依赖也已经6年没有更新了,可能得用各种老版本才可以吧,懒得试了!