Girders is not an application framework itself, but more of a platform. We try to leverage existing frameworks and libraries and combine them into a platform for developing server-side Java applications.
Girders has always been heavily based on Java and the Spring Framework. Since version 4, we also leverage Spring Boot in Girders. Spring Boot is an extension of the Spring Framework that has a very big overlap with Girders. It addresses many of the same issues. For Girders we have therefore decided to replace many of the existing Girders 3 components with components from Spring Boot. Girders has essentially become an extension of Spring Boot. With Girders 6 we continue to go in this direction with migration of all features with Spring Boot 3.0.
Java 17 | We support Java 17+ for developing and running applications based on Girders. Girders itself is built on Java 17. |
Spring Framework 6 | Since its inception, Girders is based on the Spring Framework and leverages a lot of its features and design principles. |
Spring Boot 3 | With Girders 6 we have also added Spring Boot 3.0 to the Girders platform. The design of Girders 6 is based heavily on the ideas of Spring Boot. |
Spring Security 6 | Spring Security is the foundation for everything related to security and access control. |
JUnit 5 | Girders 6 uses JUnit 5 and provides dependencies for JUnit 5. You can still use JUnit 4 in your applications, but you have to configure this yourself. |
Girders is a modular platform. It provides fine-granular modules of functionality that can be combined to form the foundation for an application. Girders leverages modules from Spring Boot, which itself leverages components from the Spring Framework and other open-source frameworks and libraries.
Girders is an opinionated platform that favours convention over configuration. Girders comes with sensible defaults that work out-of-the-box. If necessary, and only then, you can overwrite the default values and customize the behaviour.
Girders leverages the auto-configuration functionality of Spring Boot. Normally adding a library to the application is enough to have the functionality of the library set up and configured automatically with sensible defaults.
Just as Spring Boot, Girders provides girders-starter-*
modules. These modules do not contain the actual
functionality but only serve to load all the necessary dependencies for a particular functionality, including modules
from Spring Boot, Spring Framework and other libraries.
Girders provides a “Bill Of Materials” (BOM) for use in the Maven POM of a project. The BOM defines the version numbers for all of the dependencies of Girders, as well as a lot of other commonly used dependencies. It makes sure that the version numbers defined in the BOM are consistent and compatible. This removes a lot of work related to dependency management for project teams.
The Girders Platform BOM is based on the Spring Boot BOM.