Across
platform

Across platform is collection of modules for bootstrapping your web application

Learn more
Across
framework

Across Framework helps Java developers build modular web applications using Spring

Learn more

What is Across Framework?

Across is a Java framework for developing your application using a modular approach.
It provides a way to define application modules as well as the infrastructure to run the entire application.
Geared towards developers with a love for Spring, Across is both free and open source.

Created with Sketch.

An Across module

  • bundles technical or business domain functionality,
  • explicitly depends on zero or more other modules,
  • exposes components like services or repositories for other modules to use,
  • uses exposed components from other modules,
  • has zero or more installers taking care of things like initial data creation or schema migrations,
  • is a single Spring ApplicationContext.
Learn more
Created with Sketch.

An Across application

  • specifies the modules to use,
  • sets up common infrastructure (eg. the event bus),
  • ensures modules are ordered according to their dependencies and bootstrapped in that same order,
  • runs as a Spring Boot application.
Learn more

See it in Action!

Presentation given at Devoxx Belgium in November 2017.

Across Platform

Across Platform is a set of Across modules that help developers assemble applications.
The Across Initializr can generate a Maven project with Across Platform for you.

Website

A web frontend kick-started with Thymeleaf server templates and sample controllers.
Optionally include some Web CMS features.
 

Create a project

CRUD Application

A web based CRUD application for managing your Spring Data backed entities. Optionally include a simple user domain model.
 

Create a project
logo-across

Learn Across

Choose the option that you prefer to get started with Across Framework or Platform.

Explore the docs Create a project Read the FAQ

Frequently Asked Questions

  • Is Across free to use?

    Yes. Across Framework as well as all modules built by the same team are published under the Apache 2.0 license. The source code can be found on the Foreach Bitbucket space.

  • What experience do I need to get started with Across?

    You need a good grasp of Java (8) and Spring Framework. Spring MVC experience is strongly advised, and some Spring Boot knowledge might be helpful.

    At the very least you should be familiar with Spring’s approach for dependency injection, the ApplicationContext and java-based configuration.

    Other commonly used libraries that are useful to know are Hibernate, Spring Data, Liquibase and Thymeleaf.

  • How is Across different from Spring Boot?

    Across builds much more on top of Spring Framework than on Spring Boot. Across applications execute as a Spring Boot application and use some features provided by Spring Boot (like embedded webserver, YAML configuration and devtools).

    Auto-configuration, however, is not supported, which means simply adding a starter to your project will not be enough. Many available configuration classes from Spring Boot will also not work in an Across application, because they are setup for a single ApplicationContext, whereas Across uses a different hierarchy. There is often no actual limitation to using the starter libraries, but some effort might be required to get the right configuration. We can offer commercial support for this if required.

    An Across application is quite different from a regular Spring Boot application. Please see the question How is Across different from Spring Framework? for more details.

    Increasing compatibility with auto-configuration is a major point for future releases of Across.

  • How is Across different from Spring Framework?

    Across builds on top of Spring framework and tries to stay as compatible as possible. There are some very important differences regarding the ApplicationContext hierarchy, bean/module ordering and event handling.

    Learn more
  • Can I use Across for microservices?

    Yes, you can, but please be aware that Across is actually better suited for developing modular monoliths.

    The Spring Boot and Spring Cloud communities are very active when it comes to microservices and most of their features have not yet been tested in Across based applications. It might involve some more in-depth technical work to get things working correctly. We can offer commercial support for this if required.

    In future releases of Across we expect to improve the out-of-the-box integration with Spring Boot and Spring Cloud libraries.

See all questions