spring-boot-java-swing-reservations icon indicating copy to clipboard operation
spring-boot-java-swing-reservations copied to clipboard

The project aims to present how to connect Spring Boot 3 and Java 17 Swing GUI widget toolkit. All application dependencies are provided by Docker Compose. There are also static code analysis tools li...

Spring Boot Swing Reservations

Build Status CodeQL License: MIT

This project aims to present how to create and configure a Spring Boot + JPA/Hibernate Java Swing application. The project is built using Java, Spring Boot and Swing libraries.

Table of Contents

  • Prerequisites
  • Libraries
  • Running the application
    • On Windows
    • On MacOS/ Linux
  • Database user
  • Video
  • Screens

Prerequisites

Libraries

Library name Description
Spring Boot 2 Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".
Spring Data Repositories The JPA module of Spring Data contains a custom namespace that allows defining repository beans.
JPA (Hibernate) Hibernate ORM enables developers to more easily write applications whose data outlives the application process.
Swing Provides a set of "lightweight" (all-Java language) components that, to the maximum degree possible, work the same on all platforms.
Liquibase Liquibase Community is an open source project that helps millions of developers rapidly manage database schema changes.
Lombok Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.
Docker Compose Compose is a tool for defining and running multi-container Docker applications.
Checkstyle Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard.
FindBugs FindBugs is a development tool which uses static analysis to look for bugs in Java code.

Running the application

On Windows

## Run PostgreSQL database on Docker
docker-compose up -d

## Build application using Maven Wrapper
mvnw.cmd clean install

## Run Spring boot application using Maven Wrapper or simply run Application class
mvnw.cmd spring-boot:run

On MacOS/ Linux

## Run PostgreSQL database on Docker
docker-compose up -d

## Build application using Maven Wrapper
./mvnw clean install

## Run Spring boot application using Maven Wrapper or simply run Application class
./mvnw spring-boot:run

Database user

JDBC URL Username Password
jdbc:postgresql://localhost:5555/reservations reservations_user reservations_psw

Video

Spring Boot Swing Reservations

Screens

alt text

alt text

alt text

alt text

alt text

alt text