DocsStart here

Start here

Meet Jaspring

The reactive meta-framework for Java. Spring Boot foundations, Angular templates, and a different kind of full stack.

Browse documentation

A familiar, new stack

Jaspring connects Java, Spring, and Angular’s template language into one application model. Write components, services, pipes, and directives in Java. Describe the interface in HTML. Let signals and server-side change detection keep it live.

It is a meta-framework: Spring Boot provides the application foundation, dependency injection, and HTTP server; Angular’s real compiler parses the templates; Jaspring connects them with a component model, reactive state, and live HTML updates. The name brings those pieces together: Ja + Spri + ng.

How a page lives

A Spring MVC controller returns a JaspringView. The server creates a component tree and renders the first HTML document, so content is available immediately. A small browser runtime then connects that page to the server.

When you click a bound button, the browser sends an event to the page. Its Java handler runs, signals change, and change detection collects the changed views. Jaspring sends HTML patches back over WebSocket, with HTTP as a fallback. Your application does not need a separate REST endpoint for each UI action.

What you write

A component is a Java class with a Jaspring @Component annotation. Its template reads the class’s state and calls its methods. Services use ordinary Spring constructor injection.

CounterComponent.java
@Component(selector = "app-counter", templateUrl = "counter.component.html")
public class CounterComponent {
    public final WritableSignal<Integer> count = Signals.signal(0);
}

Growing in the open

Jaspring 0.2.0 is experimental and MIT licensed. Server rendering, live events, signals, and change detection are available in the published starter. The current master checkout adds client hooks, browser calls, and Java browser closures compiled to WebAssembly. Static generation and incremental regeneration are future work.

Start with a small application, try the live examples, and review the compatibility guide before adopting Angular-specific assumptions. Installation targets the published 0.2.0 release. Newer browser-interoperability APIs are documented as source-build features.

Jaspring · release + master guidesRead the framework source