{"id":14977555,"url":"https://github.com/thomasvitale/spring-boot-next-gen-apps","last_synced_at":"2025-10-28T04:31:31.835Z","repository":{"id":111459115,"uuid":"600691978","full_name":"ThomasVitale/spring-boot-next-gen-apps","owner":"ThomasVitale","description":"Samples showcasing new features and capabilities in Spring Boot 3 and Spring Framework 6","archived":true,"fork":false,"pushed_at":"2023-05-22T21:49:46.000Z","size":194,"stargazers_count":21,"open_issues_count":0,"forks_count":8,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-02-10T04:18:22.864Z","etag":null,"topics":["buildpacks","cloud-native","graalvm","java","spring-boot","spring-framework"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ThomasVitale.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-02-12T09:36:10.000Z","updated_at":"2024-10-07T17:40:18.000Z","dependencies_parsed_at":"2023-10-12T16:23:29.519Z","dependency_job_id":"85809b0e-2a72-4bc3-a8d1-2e3fea181f80","html_url":"https://github.com/ThomasVitale/spring-boot-next-gen-apps","commit_stats":{"total_commits":10,"total_committers":1,"mean_commits":10.0,"dds":0.0,"last_synced_commit":"0706c73ca6c3f61a09cb898a6a4b1a5f6558e27f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThomasVitale%2Fspring-boot-next-gen-apps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThomasVitale%2Fspring-boot-next-gen-apps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThomasVitale%2Fspring-boot-next-gen-apps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThomasVitale%2Fspring-boot-next-gen-apps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ThomasVitale","download_url":"https://codeload.github.com/ThomasVitale/spring-boot-next-gen-apps/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238597386,"owners_count":19498396,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["buildpacks","cloud-native","graalvm","java","spring-boot","spring-framework"],"created_at":"2024-09-24T13:55:54.252Z","updated_at":"2025-10-28T04:31:30.915Z","avatar_url":"https://github.com/ThomasVitale.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Next-Generation Apps with Spring Boot 3\n\nThe recent release of Spring Boot 3 and Spring Framework 6 laid the foundation for the next\ngeneration of modern Java applications. This session will highlight what’s new, and demonstrate\npatterns and techniques for cloud-native development.\n\nSupport for generating native images with GraalVM is now part of the core framework, making it\nstraightforward to build efficient applications with instant startup time and reduced memory consumption.\nThe new Java 17 baseline and support for Jakarta EE 10 unlocks many new features and integrations.\nObservability is now a core tenet of the Spring ecosystem, with monitoring and tracing built into each\nSpring module and powered by Micrometer and OpenTelemetry. Web applications can now rely on new features\nto handle errors based on the Problem Details for HTTP APIs specification. Finally, HTTP clients can now\nbe powered by convenient interfaces for which the framework generates the implementation.\n\n## Usage\n\nRun the Grafana observability stack:\n\n```bash\ndocker-compose up -d grafana\n```\n\nRun Book Service:\n\n```bash\n./gradlew bootTestRun\n```\n\nRun Order Service:\n\n```bash\n./gradlew bootRun\n```\n\n## Observability Stack\n\nBoth Spring Boot applications are observable, as any cloud native application should. Prometheus metrics are backed by Spring Boot Actuator and Micrometer Metrics. Distributed tracing is backed by OpenTelemetry and Micrometer Tracing.\n\n**Grafana** lets you query and visualize logs, metrics, and traces from your applications. After running the Docker Compose\nconfiguration as explained in the previous section, you can access Grafana on port 3000. It provides already dashboards\nto visualize metrics from Spring Boot, Spring Cloud Gateway, and Spring Cloud Circuit Breaker. In the \"Explore\" panel,\nyou can query logs from Loki, metrics from Prometheus, and traces from Tempo.\n\n**Promtail** collects logs from all containers and forwards them to Loki.\n\n**Loki** is a log aggregation system part of the Grafana observability stack. \"It's like Prometheus, but for logs.\"\nLogs are available for inspecting from Grafana.\n\n**Tempo** is a distributed tracing backend part of the Grafana observability stack. Spring Boot applications sends traces to Tempo,\nwhich made them available for inspecting from Grafana. The traces follows the OpenTelemetry format and protocol.\n\n**Prometheus** is a monitoring system part of the Grafana observability stack. It parses the metrics endpoints exposed by Spring Boot\napplications (`/actuator/prometheus`). Metrics are available for inspecting and dashboarding from Grafana.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomasvitale%2Fspring-boot-next-gen-apps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthomasvitale%2Fspring-boot-next-gen-apps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomasvitale%2Fspring-boot-next-gen-apps/lists"}