Skip to content

Repository files navigation

Nova Spring Boot Starter

The meta-starter. One dependency brings in Spring Boot web, Jackson and Actuator, every framework-free Nova library, and every Nova starter already auto-configured — so a new service starts with the API contract, masking, dates and mapping in place instead of assembling them.

What it pulls in

From Spring Boot From Nova
spring-boot-starter nova-date-utils
spring-boot-starter-webmvc nova-mapper-utils
spring-boot-starter-jackson nova-mask-starter
spring-boot-starter-actuator nova-api-standard-starter

Versions come from nova-spring-boot-bom, so an application declares none of them.

What it adds

Class Does
@NovaSpringBootApplication Replaces @SpringBootApplication, adding the Nova component scan
NovaApplication run(...) entry point
NovaAutoConfiguration Registers the platform beans
NovaEnvironmentPostProcessor Applies the platform's property defaults before the context starts

Install

Published to GitHub Packages, so the repository needs to be declared and authenticated with a token that has read:packages.

repositories {
    maven {
        url = uri("https://maven.pkg.github.com/ahincho/nova-java-spring-boot-starter")
        credentials {
            username = providers.gradleProperty("gpr.user").orNull ?: System.getenv("GITHUB_ACTOR")
            password = providers.gradleProperty("gpr.key").orNull ?: System.getenv("GITHUB_TOKEN")
        }
    }
}

dependencies {
    implementation("pe.edu.nova.java.starters:nova-spring-boot-starter:0.1.0-SNAPSHOT")
}

Use

import pe.edu.nova.java.starters.boot.NovaSpringBootApplication;

@NovaSpringBootApplication
public class Application {
    public static void main(String[] args) {
        NovaApplication.run(Application.class, args);
    }
}

That is the whole bootstrap. Controllers can return domain objects and the platform wraps them in ApiResponse<T>; thrown exceptions become ApiError; annotated fields are masked in logs.

Observability is a separate dependency on purpose — not every service wants an OTLP exporter. Add nova-java-observability-spring-boot-starter when it does.

Starting from scratch

Rather than adding this to an empty project, generate one:

Requirements

Java 25, Spring Boot 4.

License

Eclipse Public License 2.0 — see LICENSE.

Copyright © 2026 Angel Hincho.

About

Nova Platform Spring Boot meta-starter: bundles all Nova starters (commons, observability) and configures the application to use the meta-framework.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages