Skip to content

microsphere-projects/microsphere-spring-boot

Repository files navigation

Microsphere Spring Boot

Microsphere Projects for Spring Boot

Ask DeepWiki zread Maven Build Codecov Maven License Average time to resolve an issue Percentage of issues still open

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.

Purpose and Scope

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

Modules

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

Getting Started

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>

Example : Using the default properties to disable the Auto-Configuration of Spring Boot

The module microsphere-spring-boot-core offers the default properties, which can be used to disable the auto-configuration:

  1. 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 with exclude attribute or the Spring property spring.autoconfigure.exclude to exclude the auto-configuration, however, these two approaches can't merge the previous properties.

Building from Source

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:

  1. Clone the repository:
git clone https://github.com/microsphere-projects/microsphere-spring-boot.git
  1. Build the source:
  • Linux/MacOS:
./mvnw package
  • Windows:
mvnw.cmd package

Contributing

We welcome your contributions! Please read Code of Conduct before submitting a pull request.

Reporting Issues

  • 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.

Documentation

User Guide

DeepWiki Host

ZRead Host

Wiki

Github Host

JavaDoc

License

The Microsphere Spring is released under the Apache License 2.0.

Packages

No packages published

Contributors 2

  •  
  •  

Languages