# Preface

## Requirements

This section details the compatible [Java](https://www.oracle.com/technetwork/java/javase/downloads/index.html) and [Spring Framework](https://spring.io/projects/spring-framework) versions.

### Compatible Java Versions

For Spring Integration 5.5.x, the minimum compatible Java version is Java SE 8.
Older versions of Java are not supported.

### Compatible Versions of the Spring Framework

Spring Integration 5.5.x requires Spring Framework 5.3 or later.

## Code Conventions

Spring Framework 2.0 introduced support for namespaces, which simplifies the XML configuration of the application context and lets Spring Integration provide broad namespace support.

In this reference guide, the `int` namespace prefix is used for Spring Integration’s core namespace support.
Each Spring Integration adapter type (also called a module) provides its own namespace, which is configured by using the following convention:

The following example shows the `int`, `int-event`, and `int-stream` namespaces in use:

```
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:int="http://www.springframework.org/schema/integration"
  xmlns:int-webflux="http://www.springframework.org/schema/integration/webflux"
  xmlns:int-stream="http://www.springframework.org/schema/integration/stream"
  xsi:schemaLocation="
   http://www.springframework.org/schema/beans
   https://www.springframework.org/schema/beans/spring-beans.xsd
   http://www.springframework.org/schema/integration
   https://www.springframework.org/schema/integration/spring-integration.xsd
   http://www.springframework.org/schema/integration/webflux
   https://www.springframework.org/schema/integration/webflux/spring-integration-webflux.xsd
   http://www.springframework.org/schema/integration/stream
   https://www.springframework.org/schema/integration/stream/spring-integration-stream.xsd">
…
</beans>
```

For a detailed explanation regarding Spring Integration’s namespace support, see [Namespace Support](./configuration.html#configuration-namespace).

|   |The namespace prefix can be freely chosen.<br/>You may even choose not to use any namespace prefixes at all.<br/>Therefore, you should apply the convention that best suits your application.<br/>Be aware, though, that SpringSource Tool Suite™ (STS) uses the same namespace conventions for Spring Integration as used in this reference guide.|
|---|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

## Conventions in This Guide

In some cases, to aid formatting when specifying long fully qualified class names, we shorten `org.springframework` to `o.s` and `org.springframework.integration` to `o.s.i`, such as with `o.s.i.transaction.TransactionSynchronizationFactory`.
