3.8 KiB
Read Me First
The following was discovered as part of building this project:
- The JVM level was changed from '22' to '21' as the Kotlin version does not support Java 22 yet.
Getting Started
Reference Documentation
For further reference, please consider the following sections:
- Official Gradle documentation
- Spring Boot Gradle Plugin Reference Guide
- Create an OCI image
- GraalVM Native Image Support
- Docker Compose Support
- Spring Web
- Spring Security
- Spring Data JPA
- Validation
Guides
The following guides illustrate how to use some features concretely:
- Building a RESTful Web Service
- Serving Web Content with Spring MVC
- Building REST services with Spring
- Securing a Web Application
- Spring Boot and OAuth2
- Authenticating a User with LDAP
- Accessing Data with JPA
- Validation
Additional Links
These additional references should also help you:
Docker Compose support
This project contains a Docker Compose file named compose.yaml
.
In this file, the following services have been defined:
- mariadb:
mariadb:latest
Please review the tags of the used images and set them to the same as you're running in production.
GraalVM Native Support
This project has been configured to let you generate either a lightweight container or a native executable. It is also possible to run your tests in a native image.
Lightweight Container with Cloud Native Buildpacks
If you're already familiar with Spring Boot container images support, this is the easiest way to get started. Docker should be installed and configured on your machine prior to creating the image.
To create the image, run the following goal:
$ ./gradlew bootBuildImage
Then, you can run the app like any other container:
$ docker run --rm -p 8080:8080 dnsapi:0.0.1-SNAPSHOT
Executable with Native Build Tools
Use this option if you want to explore more options such as running your tests in a native image.
The GraalVM native-image
compiler should be installed and configured on your machine.
NOTE: GraalVM 22.3+ is required.
To create the executable, run the following goal:
$ ./gradlew nativeCompile
Then, you can run the app as follows:
$ build/native/nativeCompile/dnsapi
You can also run your existing tests suite in a native image. This is an efficient way to validate the compatibility of your application.
To run your existing tests in a native image, run the following goal:
$ ./gradlew nativeTest