Microsphere Projects for Spring Boot
Microsphere Spring Boot is a collection of libraries that extends Spring Boot's capabilities with additional features focused on configuration management, application diagnostics, and enhanced monitoring. The project is structured as a multi-module Maven project that follows Spring Boot's conventions while providing value-added functionality.
The Microsphere Spring Boot project is a collection of Spring Boot extensions that enhance observability, configuration management, and operational capabilities for Spring Boot applications. It provides:
- Enhanced Auto-Configuration: Sophisticated auto-configuration mechanisms with filtering and property management
- Custom Actuator Endpoints: Extended Spring Boot Actuator with additional endpoints for configuration metadata and application artifacts
- Monitoring Extensions: Enhanced task scheduling with metrics integration via Micrometer
- Configuration Management: Advanced configuration binding and property management features
- Multi-Version Support: Compatibility across Spring Boot versions 3.0 through 3.4
Module | Purpose |
---|---|
microsphere-spring-parent | Defines the parent POM with dependency management and Spring Boot version profiles |
microsphere-spring-boot-dependencies | Centralizes dependency management for all project modules |
microsphere-spring-boot-core | Provides core functionality for enhanced Spring Boot applications |
microsphere-spring-boot-actuator | Extends Spring Boot Actuator with additional endpoints and monitoring capabilities |
The easiest way to get started is by adding the Microsphere Spring Boot BOM (Bill of Materials) to your project's pom.xml:
<dependencyManagement>
<dependencies>
...
<!-- Microsphere Spring Boot Dependencies -->
<dependency>
<groupId>io.github.microsphere-projects</groupId>
<artifactId>microsphere-spring-boot-dependencies</artifactId>
<version>${microsphere-spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
...
</dependencies>
</dependencyManagement>
${microsphere-spring-boot.version}
has two branches:
Branches | Purpose | Latest Version |
---|---|---|
0.2.x | Compatible with Spring Boot 3.0.x - 3.2.x | 0.2.1 |
0.1.x | Compatible with Spring Boot 2.0.x - 2.7.x | 0.1.1 |
Then add the specific modules you need:
<dependencies>
<!-- Microsphere Spring Boot Core -->
<dependency>
<groupId>io.github.microsphere-projects</groupId>
<artifactId>microsphere-spring-boot-core</artifactId>
</dependency>
<!-- Microsphere Spring Boot Actuator -->
<dependency>
<groupId>io.github.microsphere-projects</groupId>
<artifactId>microsphere-spring-boot-actuator</artifactId>
</dependency>
</dependencies>
The module microsphere-spring-boot-core
offers the default properties, which can be used to disable the
auto-configuration:
- To add the default properties resource(located classpath
config/default/test.properties
):
### Exclude Spring Boot Built-in Auto-Configuration Class
microsphere.autoconfigure.exclude=\
org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration
Alternatively, you can also use the
@EnableAutoConfiguration
annotation withexclude
attribute or the Spring propertyspring.autoconfigure.exclude
to exclude the auto-configuration, however, these two approaches can't merge the previous properties.
You don't need to build from source unless you want to try out the latest code or contribute to the project.
To build the project, follow these steps:
- Clone the repository:
git clone https://github.com/microsphere-projects/microsphere-spring-boot.git
- Build the source:
- Linux/MacOS:
./mvnw package
- Windows:
mvnw.cmd package
We welcome your contributions! Please read Code of Conduct before submitting a pull request.
- Before you log a bug, please search the issues to see if someone has already reported the problem.
- If the issue doesn't already exist, create a new issue.
- Please provide as much information as possible with the issue report.
The Microsphere Spring is released under the Apache License 2.0.