diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/CassandraAccessor.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/CassandraAccessor.java
index aa46202a2..6cafbca40 100644
--- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/CassandraAccessor.java
+++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/CassandraAccessor.java
@@ -298,7 +298,7 @@ public class CassandraAccessor implements InitializingBean {
* @param ex the offending {@link DriverException}
* @return the DataAccessException, wrapping the {@code DriverException}
* @see Consistent
+ * "http://docs.spring.io/spring/docs/current/spring-framework-reference/data-access.html#dao-exceptions">Consistent
* exception hierarchy
* @see DataAccessException
*/
@@ -324,7 +324,7 @@ public class CassandraAccessor implements InitializingBean {
* @return the DataAccessException, wrapping the {@code DriverException}
* @see org.springframework.dao.DataAccessException#getRootCause()
* @see Consistent
+ * "http://docs.spring.io/spring/docs/current/spring-framework-reference/data-access.html#dao-exceptions">Consistent
* exception hierarchy
*/
protected DataAccessException translate(String task, @Nullable String cql, DriverException ex) {
diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ReactiveCassandraAccessor.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ReactiveCassandraAccessor.java
index d122c1221..0ee55b0d8 100644
--- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ReactiveCassandraAccessor.java
+++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ReactiveCassandraAccessor.java
@@ -113,7 +113,7 @@ public abstract class ReactiveCassandraAccessor implements InitializingBean {
* @param ex the offending {@link DriverException}
* @return the DataAccessException, wrapping the {@code DriverException}
* @see Consistent
+ * "http://docs.spring.io/spring/docs/current/spring-framework-reference/data-access.html#dao-exceptions">Consistent
* exception hierarchy
* @see DataAccessException
*/
@@ -139,7 +139,7 @@ public abstract class ReactiveCassandraAccessor implements InitializingBean {
* @return the DataAccessException, wrapping the {@code DriverException}
* @see org.springframework.dao.DataAccessException#getRootCause()
* @see Consistent
+ * "http://docs.spring.io/spring/docs/current/spring-framework-reference/data-access.html#dao-exceptions">Consistent
* exception hierarchy
*/
protected DataAccessException translate(String task, @Nullable String cql, DriverException ex) {
diff --git a/src/main/asciidoc/index.adoc b/src/main/asciidoc/index.adoc
index 157b43af3..3871ae7cf 100644
--- a/src/main/asciidoc/index.adoc
+++ b/src/main/asciidoc/index.adoc
@@ -5,6 +5,7 @@ David Webb, Matthew Adams, John Blum, Mark Paluch
:toc:
:toc-placement!:
:spring-data-commons-docs: ../../../../spring-data-commons/src/main/asciidoc
+:spring-framework-docs: http://docs.spring.io/spring/docs/{springVersion}/spring-framework-reference/
(C) 2008-2017 The original author(s).
diff --git a/src/main/asciidoc/preface.adoc b/src/main/asciidoc/preface.adoc
index fceb6332f..76dd26d15 100644
--- a/src/main/asciidoc/preface.adoc
+++ b/src/main/asciidoc/preface.adoc
@@ -3,7 +3,7 @@
The Spring Data for Apache Cassandra project applies core Spring concepts to the development of solutions using
the Cassandra Columnar data store. A "template" is provided as a high-level abstraction for storing
-and querying documents. You will notice similarities to the http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#jdbc[JDBC support]
+and querying documents. You will notice similarities to the {spring-framework-docs}data-access.html#jdbc[JDBC support]
in the core Spring Framework.
This document is the reference guide for Spring Data support for Cassandra. It explains Cassandra module concepts,
@@ -16,14 +16,14 @@ core Spring concepts.
[[get-started:first-steps:spring]]
== Knowing Spring
-Spring Data uses the Spring Framework's http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/[core]
-functionality, such as the http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#beans[IoC] container,
-http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#validation[validation, type conversion and data binding],
-http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#expressions[expression language],
-http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#aop[AOP],
-http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#jmx[JMX integration],
-http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#dao[DAO support], and specifically
-the http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#dao-exceptions[DAO Exception Hierarchy].
+Spring Data uses the Spring Framework's {spring-framework-docs}core.html[core]
+functionality, such as the {spring-framework-docs}core.html#beans[IoC] container,
+{spring-framework-docs}core.html#validation[validation, type conversion and data binding],
+{spring-framework-docs}core.html#expressions[expression language],
+{spring-framework-docs}core.html#aop[AOP],
+{spring-framework-docs}integration.html#jmx[JMX integration],
+{spring-framework-docs}data-access.html[DAO support], and specifically
+the {spring-framework-docs}data-access.html#dao-exceptions[DAO Exception Hierarchy].
While it is not important to know the Spring APIs, understanding the concepts behind them is. At a minimum, the idea
behind IoC should be familiar no matter what IoC container you choose to use.
@@ -33,7 +33,7 @@ of the Spring container. This is much like `JdbcTemplate`, which can be used 'st
of the Spring container. To leverage all the features of Spring Data for Apache Cassandra, such as the repository support,
you will need to configure some parts of the library using Spring.
-To learn more about Spring, you can refer to the comprehensive (and sometimes disarming) http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/[documentation]
+To learn more about Spring, you can refer to the comprehensive (and sometimes disarming) {spring-framework-docs}[documentation]
that explains in detail the Spring Framework. There are a lot of articles, blog entries and books on the matter.
Take a look at the Spring Framework http://projects.spring.io/spring-framework/[home page] for more information.
diff --git a/src/main/asciidoc/reference/cassandra.adoc b/src/main/asciidoc/reference/cassandra.adoc
index 07fde9df8..c4ba1994e 100644
--- a/src/main/asciidoc/reference/cassandra.adoc
+++ b/src/main/asciidoc/reference/cassandra.adoc
@@ -6,8 +6,8 @@ Spring Data support for Apache Cassandra contains a wide range of features which
* _Spring_ configuration support using Java-based `@Configuration` classes or the XML namespace.
* `CqlTemplate` helper class that increases productivity by handling common Cassandra data access operations properly.
* `CassandraTemplate` helper class providing object mapping between CQL Tables and POJOs.
-* Exception translation into _Spring's_ portable http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#dao-exceptions[Data Access Exception Hierarchy].
-* Feature rich object mapping integrated with _Spring's_ http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#core-convert[Conversion Service].
+* Exception translation into _Spring's_ portable {spring-framework-docs}data-access.html#dao-exceptions[Data Access Exception Hierarchy].
+* Feature rich object mapping integrated with _Spring's_ {spring-framework-docs}core.html#core-convert[Conversion Service].
* Annotation-based mapping metadata that is extensible to support other metadata formats.
* Java-based Query, Criteria, and Update DSLs.
* Automatic implementation of `Repository` interfaces including support for custom finder methods.
@@ -191,7 +191,7 @@ bean metadata. These are discussed in the following sections.
NOTE: For those not familiar with how to configure the Spring container using Java-based bean metadata instead of
XML-based metadata, see the high-level introduction in the reference docs
http://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/new-in-3.0.html#new-java-configuration[here]
-as well as the detailed documentation http://docs.spring.io/spring/docs/{springVersion}/spring-framework-reference/html/beans.html#beans-java-instantiating-container[here].
+as well as the detailed documentation {spring-framework-docs}core.html#beans-java-instantiating-container[here].
[[cassandra.cassandra-java-config]]
=== Registering a Session instance using Java-based metadata
@@ -225,7 +225,7 @@ using Spring's `CassandraCqlSessionFactoryBean` and `CassandraCqlClusterFactoryB
a `com.datastax.driver.core.Session` instance directly, the `FactoryBean` approach has the added advantage of also
providing the container with an `ExceptionTranslator` implementation that translates Cassandra exceptions to exceptions
in Spring's portable `DataAccessException` hierarchy for data access classes annotated. This hierarchy and use of
-`@Repository` is described in http://docs.spring.io/spring/docs/{springVersion}/spring-framework-reference/html/dao.html[Spring's DAO support features].
+`@Repository` is described in {spring-framework-docs}data-access.html[Spring's DAO support features].
An example of a Java-based bean metadata that supports exception translation on `@Repository` annotated classes
is shown below:
diff --git a/src/main/asciidoc/reference/converters.adoc b/src/main/asciidoc/reference/converters.adoc
index 1f3cf48bc..77646c2f4 100644
--- a/src/main/asciidoc/reference/converters.adoc
+++ b/src/main/asciidoc/reference/converters.adoc
@@ -11,7 +11,7 @@ need to create an implementation of the Spring `Converter` interface and then re
the `MappingCassandraConverter`.
NOTE: For more information on Spring's type conversion service, see the reference docs
-http://docs.spring.io/spring/docs/current/spring-framework-reference/html/validation.html#core-convert[here].
+{spring-framework-docs}core.html#core-convert[here].
[[cassandra.custom-converters.writer]]
=== Saving using a registered Spring Converter
diff --git a/src/main/asciidoc/reference/exception-translation.adoc b/src/main/asciidoc/reference/exception-translation.adoc
index 44d639c32..7749c60fa 100644
--- a/src/main/asciidoc/reference/exception-translation.adoc
+++ b/src/main/asciidoc/reference/exception-translation.adoc
@@ -4,7 +4,7 @@ The Spring Framework provides exception translation for a wide variety of databa
This has traditionally been for JDBC and JPA. Spring Data for Apache Cassandra extends this feature to Apache Cassandra
by providing an implementation of the `org.springframework.dao.support.PersistenceExceptionTranslator` interface.
-The motivation behind mapping to Spring's http://docs.spring.io/spring/docs/current/spring-framework-reference/html/dao.html#dao-exceptions[consistent data access exception hierarchy]
+The motivation behind mapping to Spring's {spring-framework-docs}html/dao.html#dao-exceptions[consistent data access exception hierarchy]
is that you are then able to write portable and descriptive exception handling code without resorting to coding against
and handling specific Cassandra Exceptions. All of Spring's data access exceptions are inherited from the root,
`DataAccessException` class so you can be sure that you will be able to catch all database related exceptions
diff --git a/src/main/asciidoc/reference/mapping.adoc b/src/main/asciidoc/reference/mapping.adoc
index ecf763544..93fb6df7e 100644
--- a/src/main/asciidoc/reference/mapping.adoc
+++ b/src/main/asciidoc/reference/mapping.adoc
@@ -562,7 +562,7 @@ instances with the `CassandraConverter`.
NOTE: Spring 3.0 introduced a `o.s.core.convert` package that provides a general type conversion system.
This is described in detail in the Spring reference documentation section entitled
-http://docs.spring.io/spring/docs/{springVersion}/spring-framework-reference/html/validation.html#core-convert[Spring Type Conversion].
+{spring-framework-docs}core.html#core-convert[Spring Type Conversion].
Below is an example of a Spring `Converter` implementation that converts from a Row to a Person POJO.
diff --git a/src/main/asciidoc/reference/reactive-cassandra-repositories.adoc b/src/main/asciidoc/reference/reactive-cassandra-repositories.adoc
index f94e8dd93..7451d8832 100644
--- a/src/main/asciidoc/reference/reactive-cassandra-repositories.adoc
+++ b/src/main/asciidoc/reference/reactive-cassandra-repositories.adoc
@@ -13,7 +13,7 @@ Reactive usage is broken up into two phases: Composition and Execution.
Calling _Repository_ methods lets you compose a reactive sequence by obtaining ``Publisher``s and applying operators.
No I/O happens until now. Passing the reactive sequence to a reactive execution infrastructure,
-such as http://docs.spring.io/spring-framework/docs/{springVersion}/spring-framework-reference/web.html#web-reactive[Spring WebFlux]
+such as {spring-framework-docs}web.html#web-reactive[Spring WebFlux]
or http://vertx.io/docs/vertx-reactive-streams/java/[Vert.x]), will subscribe to the publisher and initiate
the actual execution.
diff --git a/src/main/asciidoc/reference/reactive-cassandra.adoc b/src/main/asciidoc/reference/reactive-cassandra.adoc
index c10498574..a5adccb8a 100644
--- a/src/main/asciidoc/reference/reactive-cassandra.adoc
+++ b/src/main/asciidoc/reference/reactive-cassandra.adoc
@@ -7,8 +7,8 @@ The reactive Cassandra support contains a wide range of features which are summa
* `ReactiveCqlTemplate` helper class that increases productivity by handling common Cassandra data access operations properly.
* `ReactiveCassandraTemplate` helper class that increases productivity using `ReactiveCassandraOperations in a reactive manner.
Includes integrated object mapping between tables and POJOs.
-* Exception translation into Spring's portable http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#dao-exceptions[Data Access Exception Hierarchy].
-* Feature rich object mapping integrated with Spring's http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#core-convert[Conversion Service].
+* Exception translation into Spring's portable {spring-framework-docs}data-access.html#dao-exceptions[Data Access Exception Hierarchy].
+* Feature rich object mapping integrated with Spring's {spring-framework-docs}core.html#core-convert[Conversion Service].
* Java-based Query, Criteria, and Update DSLs.
* Automatic implementation of `Repository` interfaces including support for custom finder methods.
@@ -201,7 +201,7 @@ bean metadata. These are discussed in the following sections.
NOTE: For those not familiar with how to configure the Spring container using Java-based bean metadata instead of
XML-based metadata, see the high-level introduction in the reference docs
http://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/new-in-3.0.html#new-java-configuration[here]
-as well as the detailed documentation http://docs.spring.io/spring/docs/{springVersion}/spring-framework-reference/html/beans.html#beans-java-instantiating-container[here].
+as well as the detailed documentation {spring-framework-docs}core.html#beans-java-instantiating-container[here].
[[cassandra.cassandra-reactive-java-config]]