mirror of
https://github.com/spring-projects/spring-boot.git
synced 2026-09-30 14:19:30 +00:00
Previously, Spring Boot's modules published Gradle Module Metadata (GMM) the declared a platform dependency on spring-boot-dependencies. This provided versions for each module's own dependencies but also had they unwanted side-effect of pulling in spring-boot-dependencies constraints which would influence the version of other dependencies declared in the same configuration. This was undesirable as users should be able to opt in to this level of dependency management, either by using the dependency management plugin or by using Gradle's built-in support via a platform dependency on spring-boot-dependencies. This commit reworks how Spring Boot's build uses spring-boot-dependencies and spring-boot-parent to provide its own dependency management. Configurations that aren't seen by consumers are configured to extend a dependencyManagement configuration that has an enforced platform dependency on spring-boot-parent. This enforces spring-boot-parent's version constraints on Spring Boot's build without making them visible to consumers. To ensure that the versions that Spring Boot has been built against are visible to consumers, the Maven publication that produces pom files and GMM for the published modules is configured to use the resolved versions from the module's runtime classpath. Fixes gh-21911
= Spring Boot - Actuator
Spring Boot Actuator includes a number of additional features to help you monitor and
manage your application when it's pushed to production. You can choose to manage and
monitor your application using HTTP or JMX endpoints. Auditing, health and metrics
gathering can be automatically applied to your application. The
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#production-ready[user guide]
covers the features in more detail.
== Enabling the Actuator
The simplest way to enable the features is to add a dependency to the
`spring-boot-starter-actuator` '`Starter`'. To add the actuator to a Maven-based project,
add the following '`Starter`' dependency:
[source,xml,indent=0]
----
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
----
For Gradle, use the following declaration:
[indent=0]
----
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-actuator'
}
----
== Features
* **Endpoints** Actuator endpoints allow you to monitor and interact with your
application. Spring Boot includes a number of built-in endpoints and you can also add
your own. For example the `health` endpoint provides basic application health
information. Run up a basic application and look at `/actuator/health`.
* **Metrics** Spring Boot Actuator provides dimensional metrics by integrating with
https://micrometer.io[Micrometer].
* **Audit** Spring Boot Actuator has a flexible audit framework that will publish events
to an `AuditEventRepository`. Once Spring Security is in play it automatically publishes
authentication events by default. This can be very useful for reporting, and also to
implement a lock-out policy based on authentication failures.