main
Welcome to [Renovate](https://github.com/renovatebot/renovate)! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin. 🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged. 📚 See our [Reading List](https://docs.renovatebot.com/reading-list/) for relevant documentation you may be interested in reading. 🔡 Do you want to change how Renovate upgrades your dependencies? Add your custom config to `renovate.json` in this branch. Renovate will update the Pull Request description the next time it runs. --- ### Detected Package Files * `pom.xml` (maven) ### Configuration Summary Based on the default config's presets, Renovate will: - Start dependency updates only once this onboarding PR is merged - Enable Renovate Dependency Dashboard creation. - Use semantic commit type `fix` for dependencies and `chore` for all others if semantic commits are in use. - Ignore `node_modules`, `bower_components`, `vendor` and various test/tests (except for nuget) directories. - Group known monorepo packages together. - Use curated list of recommended non-monorepo package groupings. - Show only the Age and Confidence Merge Confidence badges for pull requests. - Apply crowd-sourced package replacement rules. - Apply crowd-sourced workarounds for known problems with packages. - Ensure that every dependency pinned by digest and sourced from Forgejo contains a link to the commit-to-commit diff - Ensure that every dependency pinned by digest and sourced from Gitea contains a link to the commit-to-commit diff - Ensure that every dependency pinned by digest and sourced from GitHub.com and Github enterprise contains a link to the commit-to-commit diff - Ensure that every dependency pinned by digest and sourced from GitLab.com contains a link to the commit-to-commit diff - Correctly link to the source code for golang.org/x packages - Link to pkg.go.dev/... for golang.org/x packages' title - Provide a link to octochangelog's improved breakdown for Renovate's changelogs --- ### What to Expect It looks like your repository dependencies are already up-to-date and no Pull Requests will be necessary right away. --- ❓ Got questions? Check out Renovate's [Docs](https://docs.renovatebot.com/), particularly the Getting Started section. If you need any further assistance then you can also [request help here](https://github.com/renovatebot/renovate/discussions). --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-config-hash:e80b4e42a3043bc12fa0640db4bac392d2bf770acf841360d7c8ceeeac2ec1a9--> Reviewed-on: #1 Co-authored-by: Renovate Bot <renovate-bot@lightroasted.vps-kinghost.net> Co-committed-by: Renovate Bot <renovate-bot@lightroasted.vps-kinghost.net>
Spring Boot GraalVM Native Image Demo
A demonstration project showcasing Spring Boot with GraalVM native image compilation, featuring a simple REST API backed by an in-memory H2 database.
Features
- Spring Boot 4.1.0 with Java 25
- GraalVM Native Image support via
native-maven-plugin - Spring Data JPA for database persistence
- H2 In-Memory Database for development and testing
- Spring Boot Actuator for health checks and monitoring
- Spring Boot H2 Console for database inspection (accessible at
/h2-console)
Prerequisites
- Java 25 (GraalVM recommended for native image builds)
- Maven 3.6+
- GraalVM CE (for native image compilation)
Building the Project
Standard JAR Build
mvn clean package
Native Image Build
mvn clean native:compile -Pnative
Or using the Spring Boot plugin:
mvn spring-boot:build-image -Pnative
Running the Application
Run as JAR
java -jar target/cloudnative-0.0.1-SNAPSHOT.jar
Run Native Image
./target/cloudnative
Database Configuration
The application uses an H2 in-memory database with the following configuration:
| Property | Value |
|---|---|
| JDBC URL | jdbc:h2:mem:testdb |
| Driver | org.h2.Driver |
| Username | sa |
| Password | (empty) |
| Dialect | org.hibernate.dialect.H2Dialect |
H2 Console
Access the H2 console at: http://localhost:8080/h2-console
Use the JDBC URL jdbc:h2:mem:testdb to connect.
Actuator Endpoints
- Health:
http://localhost:8080/actuator/health - Info:
http://localhost:8080/actuator/info
Project Structure
src/
├── main/
│ ├── java/
│ │ └── br/com/ricardocampos/cloudnative/
│ │ └── CloudnativeApplication.java
│ └── resources/
│ └── application.properties
└── test/
└── java/
Dependencies
spring-boot-starter-webmvc- Web frameworkspring-boot-starter-data-jpa- JPA/Hibernate supporth2- In-memory database (runtime)spring-boot-starter-actuator- Monitoring and metricsspring-boot-h2console- H2 console integrationnative-maven-plugin- GraalVM native image compilation
License
This project is for demonstration purposes.
Languages
Java
100%