About

Across is a Java framework that aims to facilitate module based development for Java (web) applications.  It builds on Spring framework and allows defining a module consisting of a number of classes and configuration files.  Every module defines its own Spring application context and can share one or more beans with other modules.  Across modules can contain any set of functionality: low-level add-ons like facilities to activate caching or end user functionality including web controllers and their views.

Across provides the basic infrastructure to define modules and make them depend on each other.  A module will most often be a separate jar, but this is in no way a requirement.  The general principle is that every Across module can depend on others, but is responsible for its own installation and start-up procedures.  

See also the Across Standard Modules and the Platform BOM.

Release overview


Artifacts

<!-- Core -->
<dependency>
  <groupId>com.foreach.across</groupId>
  <artifactId>across-core</artifactId>
  <version>2.1.0.RELEASE</version>
</dependency>
 
<!-- AcrossWebModule -->
<dependency>
  <groupId>com.foreach.across</groupId>
  <artifactId>across-web</artifactId>
  <version>2.1.0.RELEASE</version>
</dependency>
 
<!-- Test library -->
<dependency>
  <groupId>com.foreach.across</groupId>
  <artifactId>across-test</artifactId>
  <version>2.1.0.RELEASE</version>
  <scope>test</scope>
</dependency>

Quick links

Foreach.be | Twitter | Source (Bitbucket) | Issues (JIRA) | Documentation

News & blogs

Across Platform 2.0.1 has been released, including several new versions of standard modules.  Some new libraries (and the first public version of WebCmsModule) have been added as well.
Across 2.1.0 Added LocalizedTextResolver to easily localize (eg. translate) text snippets The default implementation MessageCodeSupportingLocalizedTextResolver supports special message code snippets, examples: Some text will always return Some text #{my.code} will return the resolved message code or my.code if no message found #{my.…
Across Platform 2.0.0 has been released and this includes new release versions for several modules.  See the reference documentation https://across.foreach.be/docs/across-platform/2.0.0.RELEASE/reference/#_dependency_versions for an overview of the different module versions. Anyone working with platform-bom 2.0.0-SNAPSHOT should switch as soon as possible as the SNAPSHOT versions will be removed from the repository. The Across starter project has been updated for release 2.0.0 as well.
EntityModule 2.0.0 Transaction support for default entity views has been added the default PlatformTransactionManager is now detected for all Spring Data repositories and the bean name added as a EntityConfiguration attribute: EntityAttributes.TRANSACTION_MANAGER_NAME EntityViewFactoryBuilder supports configuring transactions for state modifying HTTP methods (POST, PUT,…
A short overview of recent changes in the SNAPSHOT versions of the following modules: Aross core 2.0.0 Base classes for ViewElementBuilder now also have addFirst() methods to add children  AcrossModuleMessageSource no longer falls back to the system default locale for resolving property files ContainerViewElementUtils now has several stream related methods for manipulating elements like findAll(),…
We've created a starter project template for Across applications.  This should help you quickly setup new projects with the most common basic options. You can find the starter at https://bitbucket.org/beforeach/across-starter https://bitbucket.org/beforeach/across-starter. How to use Just clone the repository, import the maven pom.xml in you favourite IDE and then go change the module/class/file names to the ones you want.  The README.MD file included should tell you what you need to know.…
Across 1.1.3 released
After some time of testing 1.1.3-SNAPSHOT we have released a maintenance release 1.1.3 of Across. This release contains bugfixes in Across core. You can see the full list on the 1.1.3 Release notes https://foreach.atlassian.net/wiki/display/AX/1.1.3. Alongside 1.1.3 Across core, we also fixed some issues in the following two modules: OAuth2Module https://foreach.atlassian.net/wiki/display/AX/OAuth2Module 1.1.2.RELEASE (see OA2M Release notes https://foreach.atlassian.…
Across at Devoxx 2016
An introduction to Across was given at Devoxx Antwerp last week.  Slides can be found here https://t.co/HuQqTWYuMy, the entire presentation is available on Youtube https://www.youtube.com/watch?v=wcWDlU-n1uQ.
In this article we'll be focusing on some of the templating infrastructure that AcrossWebModule provides. We'll create a layout template for our pages, show a way to register static resources programmatically and show an easy way to set up a dynamic top navigation that can later be extended at runtime.
In this series we try to give a quick overview of how to build web applications using Across and its Standard Modules.  Across is a framework focused on building application modules on top of Spring framework.  A single Across module packs a Spring ApplicationContext configuration, along with all web controllers, templates and static resources required to run it.  Across is very much developer focused, aiming at Java developers already proficient with Spring framework.
As of EntityModule 2.0.0 the default list views of the entity admin interfaces are being generated using a SortableTableBuilder.  You can easily use this functionality yourself to generate bootstrap compliant tables of any registered entity.  You can even use it for any custom class, but then you might have to add some more configuration.  SortableTableBuilder is a prototype scoped bean but the easiest point of access is going through the EntityViewElementBuilderHelper.…
Across 1.1.2 released
With a couple of months delay, we finally released Across 1.1.2.  This is a major update that simplifies building applications with Across and integrates with Spring Boot.  The full list of changes can be found in the reference documentation http://across.foreach.be/docs/across/1.1.2.RELEASE/reference/#_what_s_new_in_this_version.  While the documentation is still a work in progress, it has greatly improved already and all new features should have up-to-date documentation.…
In order to streamline development of all things Across, I've published some contributor guidelines.  They should aid working together and improve the overall quality in code and documentation.  Whereas what's done is done, we do expect them to be followed as of today.
Parallel streams in java 8
As Across will come to you with java 8, here's a good read-up on java 8 and their pitfalls when using parallel streams:

http://www.slideshare.net/dgomezg/parallel-streams-en-java-8

Across 1.1.0 released
Across 1.1.0 release has been created, this is the first release containing the BOM pom http://across.foreach.com/docs/across/1.1.0/reference/#_across_platform_bom. Work on Across 1.1.1 has started immediately, the new branches for this development line are called develop-1.1.1. The 1.1.0 release includes the following projects: platform-bom across across-standard-modules across-job-modules See the full release notes and reference documentation http://across.foreach.com/docs/across/1.1.…

Recent updates