Skip to content

Commit dea4825

Browse files
committed
Fix link references between documents
Issue: SPR-14997
1 parent 924adae commit dea4825

File tree

12 files changed

+275
-285
lines changed

12 files changed

+275
-285
lines changed

src/docs/asciidoc/appendix.adoc

Lines changed: 51 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
:doc-root: https://docs.spring.io
44
:api-spring-framework: {doc-root}/spring-framework/docs/{spring-version}/javadoc-api/org/springframework
55
:wiki-spring-framework: https://github.com/spring-projects/spring-framework/wiki
6-
6+
:toc: left
7+
:toclevels: 2
78

89
[[spring-whats-new]]
910
== What's New in the Spring Framework
@@ -36,13 +37,14 @@ the respective sections of the reference manual.
3637
=== Classic ORM usage
3738
This section documents the classic usage patterns that you might encounter in a legacy
3839
Spring application. For the currently recommended usage patterns, please refer to the
39-
<<orm,ORM>> chapter.
40+
<<data-access.adoc#orm,ORM>> chapter.
4041

4142

4243

4344
[[classic-spring-hibernate]]
4445
==== Hibernate
45-
For the currently recommended usage patterns for Hibernate see <<orm-hibernate>>.
46+
For the currently recommended usage patterns for Hibernate see
47+
<<data-access.adoc#orm-hibernate,the Hibernate section>>.
4648

4749

4850
[[orm-hibernate-template]]
@@ -238,8 +240,8 @@ used.
238240

239241
[[classic-spring-aysnc-messages]]
240242
==== Asynchronous Message Reception
241-
<<jms-receiving-async-message-listener-adapter,MessageListenerAdapter's>> are used in
242-
conjunction with Spring's <<jms-mdp,message listener containers>> to support
243+
<<integration.adoc#jms-receiving-async-message-listener-adapter,MessageListenerAdapter's>> are used in
244+
conjunction with Spring's <<integration.adoc#jms-mdp,message listener containers>> to support
243245
asynchronous message reception by exposing almost any class as a Message-driven POJO. If
244246
you are using the JMS 1.0.2 API, you will want to use the 1.0.2 specific classes such as
245247
`MessageListenerAdapter102`, `SimpleMessageListenerContainer102`, and
@@ -264,7 +266,7 @@ differentiate between a `javax.jms.QueueConnection` and a `javax.jmsTopicConnect
264266
==== Transaction Management
265267
In a JMS 1.0.2 environment the class `JmsTransactionManager102` provides support for
266268
managing JMS transactions for a single Connection Factory. Please refer to the reference
267-
documentation on <<jms-tx,JMS Transaction Management>> for more information on this
269+
documentation on <<integration.adoc#jms-tx,JMS Transaction Management>> for more information on this
268270
functionality.
269271

270272

@@ -273,7 +275,7 @@ functionality.
273275
== Classic Spring AOP Usage
274276
In this appendix we discuss the lower-level Spring AOP APIs and the AOP support used in
275277
Spring 1.2 applications. For new applications, we recommend the use of the Spring 2.0
276-
AOP support described in the <<aop,AOP>> chapter, but when working with existing
278+
AOP support described in the <<core.adoc#aop,AOP>> chapter, but when working with existing
277279
applications, or when reading books and articles, you may come across Spring 1.2 style
278280
examples. Spring 2.0 is fully backwards compatible with Spring 1.2 and everything
279281
described in this appendix is fully supported in Spring 2.0.
@@ -1037,14 +1039,16 @@ In common with most `FactoryBean` implementations provided with Spring, the
10371039
`ProxyFactoryBean` class is itself a JavaBean. Its properties are used to:
10381040

10391041
* Specify the target you want to proxy.
1040-
* Specify whether to use CGLIB (see below and also <<aop-pfb-proxy-types>>).
1042+
* Specify whether to use CGLIB (see below and also <<core.adoc#aop-pfb-proxy-types,
1043+
JDK- and CGLIB-based proxies>>).
10411044

10421045
Some key properties are inherited from `org.springframework.aop.framework.ProxyConfig`
10431046
(the superclass for all AOP proxy factories in Spring). These key properties include:
10441047

10451048
* `proxyTargetClass`: `true` if the target class is to be proxied, rather than the
10461049
target class' interfaces. If this property value is set to `true`, then CGLIB proxies
1047-
will be created (but see also below <<aop-pfb-proxy-types>>).
1050+
will be created (but see also below
1051+
<<core.adoc#aop-pfb-proxy-types,JDK- and CGLIB-based proxies>>).
10481052
* `optimize`: controls whether or not aggressive optimizations are applied to proxies
10491053
__created via CGLIB__. One should not blithely use this setting unless one fully
10501054
understands how the relevant AOP proxy handles optimization. This is currently used
@@ -1067,7 +1071,8 @@ Some key properties are inherited from `org.springframework.aop.framework.ProxyC
10671071
Other properties specific to `ProxyFactoryBean` include:
10681072

10691073
* `proxyInterfaces`: array of String interface names. If this isn't supplied, a CGLIB
1070-
proxy for the target class will be used (but see also below <<aop-pfb-proxy-types>>).
1074+
proxy for the target class will be used (but see also below
1075+
<<core.adoc#aop-pfb-proxy-types,JDK- and CGLIB-based proxies>>).
10711076
* `interceptorNames`: String array of `Advisor`, interceptor or other advice names to
10721077
apply. Ordering is significant, on a first come-first served basis. That is to say
10731078
that the first interceptor in the list will be the first to be able to intercept the
@@ -1079,7 +1084,8 @@ factories. You can't mention bean references here since doing so would result in
10791084

10801085
You can append an interceptor name with an asterisk ( `*`). This will result in the
10811086
application of all advisor beans with names starting with the part before the asterisk
1082-
to be applied. An example of using this feature can be found in <<aop-global-advisors>>.
1087+
to be applied. An example of using this feature can be found in
1088+
<<core.adoc#aop-global-advisors,Using 'global' advisors>>.
10831089

10841090
* singleton: whether or not the factory should return a single object, no matter how
10851091
often the `getObject()` method is called. Several `FactoryBean` implementations offer
@@ -1377,7 +1383,7 @@ this case, the transaction propagation settings:
13771383

13781384
Note that in the example above, we have explicitly marked the parent bean definition as
13791385
__abstract__ by using the __abstract__ attribute, as described
1380-
<<beans-child-bean-definitions,previously>>, so that it may not actually ever be
1386+
<<core.adoc#beans-child-bean-definitions,previously>>, so that it may not actually ever be
13811387
instantiated. Application contexts (but not simple bean factories) will by default
13821388
pre-instantiate all singletons. It is therefore important (at least for singleton beans)
13831389
that if you have a (parent) bean definition which you intend to use only as a template,
@@ -2462,7 +2468,7 @@ Before...
24622468

24632469
The above configuration uses a Spring `FactoryBean` implementation, the
24642470
`PropertiesFactoryBean`, to instantiate a `java.util.Properties` instance with values
2465-
loaded from the supplied <<resources, `Resource`>> location).
2471+
loaded from the supplied <<core.adoc#resources, `Resource`>> location).
24662472

24672473
After...
24682474

@@ -2907,8 +2913,8 @@ The `lang` tags deal with exposing objects that have been written in a dynamic l
29072913
such as JRuby or Groovy as beans in the Spring container.
29082914

29092915
These tags (and the dynamic language support) are comprehensively covered in the chapter
2910-
entitled <<dynamic-language>>. Please do consult that chapter for full details on this
2911-
support and the `lang` tags themselves.
2916+
entitled <<integration.adoc#dynamic-language,Dynamic language support>>.
2917+
Please do consult that chapter for full details on this support and the `lang` tags themselves.
29122918

29132919
In the interest of completeness, to use the tags in the `lang` schema, you need to have
29142920
the following preamble at the top of your Spring XML configuration file; the text in the
@@ -2934,9 +2940,10 @@ are available to you.
29342940
==== the jms schema
29352941

29362942
The `jms` tags deal with configuring JMS-related beans such as Spring's
2937-
<<jms-mdp,MessageListenerContainers>>. These tags are detailed in the section of the
2938-
<<jms,JMS chapter>> entitled <<jms-namespace>>. Please do consult that chapter for full
2939-
details on this support and the `jms` tags themselves.
2943+
<<integration.adoc#jms-mdp,MessageListenerContainers>>. These tags are detailed in the
2944+
section of the <<integration.adoc#jms,JMS chapter>> entitled <<integration.adoc#jms-namespace,
2945+
JMS namespace support>>. Please do consult that chapter for full details on this support
2946+
and the `jms` tags themselves.
29402947

29412948
In the interest of completeness, to use the tags in the `jms` schema, you need to have
29422949
the following preamble at the top of your Spring XML configuration file; the text in the
@@ -2962,7 +2969,8 @@ are available to you.
29622969
==== the tx (transaction) schema
29632970

29642971
The `tx` tags deal with configuring all of those beans in Spring's comprehensive support
2965-
for transactions. These tags are covered in the chapter entitled <<transaction>>.
2972+
for transactions. These tags are covered in the chapter entitled
2973+
<<data-access.adoc#transaction,Transaction Management>>.
29662974

29672975
[TIP]
29682976
====
@@ -3010,7 +3018,8 @@ using AOP). The above XML snippet contains the relevant lines needed to referenc
30103018

30113019
The `aop` tags deal with configuring all things AOP in Spring: this includes Spring's
30123020
own proxy-based AOP framework and Spring's integration with the AspectJ AOP framework.
3013-
These tags are comprehensively covered in the chapter entitled <<aop>>.
3021+
These tags are comprehensively covered in the chapter entitled <<core.adoc#aop,
3022+
Aspect Oriented Programming with Spring>>.
30143023

30153024
In the interest of completeness, to use the tags in the `aop` schema, you need to have
30163025
the following preamble at the top of your Spring XML configuration file; the text in the
@@ -3064,8 +3073,8 @@ The `context` schema was only introduced in Spring 2.5.
30643073
===== <property-placeholder/>
30653074

30663075
This element activates the replacement of `${...}` placeholders, resolved against the
3067-
specified properties file (as a <<resources,Spring resource location>>). This element is
3068-
a convenience mechanism that sets up a<<beans-factory-placeholderconfigurer,
3076+
specified properties file (as a <<core.adoc#resources,Spring resource location>>). This element is
3077+
a convenience mechanism that sets up a<<core.adoc#beans-factory-placeholderconfigurer,
30693078
`PropertyPlaceholderConfigurer`>> for you; if you need more control over the
30703079
`PropertyPlaceholderConfigurer`, just define one yourself explicitly.
30713080

@@ -3074,42 +3083,46 @@ a convenience mechanism that sets up a<<beans-factory-placeholderconfigurer,
30743083
===== <annotation-config/>
30753084

30763085
Activates the Spring infrastructure for various annotations to be detected in bean
3077-
classes: Spring's <<beans-required-annotation, `@Required`>> and
3078-
<<beans-annotation-config, `@Autowired`>>, as well as JSR 250's `@PostConstruct`,
3086+
classes: Spring's <<core.adoc#beans-required-annotation, `@Required`>> and
3087+
<<core.adoc#beans-annotation-config, `@Autowired`>>, as well as JSR 250's `@PostConstruct`,
30793088
`@PreDestroy` and `@Resource` (if available), and JPA's `@PersistenceContext` and
30803089
`@PersistenceUnit` (if available). Alternatively, you can choose to activate the
30813090
individual `BeanPostProcessors` for those annotations explicitly.
30823091

30833092
[NOTE]
30843093
====
30853094
This element does __not__ activate processing of Spring's
3086-
<<transaction-declarative-annotations, `@Transactional`>> annotation. Use the
3087-
<<tx-decl-explained, `<tx:annotation-driven/>`>> element for that purpose.
3095+
<<data-access.adoc#transaction-declarative-annotations, `@Transactional`>> annotation. Use the
3096+
<<data-access.adoc#tx-decl-explained, `<tx:annotation-driven/>`>> element for that purpose.
30883097
====
30893098

30903099

30913100
[[xsd-config-body-schemas-context-component-scan]]
30923101
===== <component-scan/>
30933102

3094-
This element is detailed in <<beans-annotation-config>>.
3103+
This element is detailed in <<core.adoc#beans-annotation-config,
3104+
Annotation-based container configuration>>.
30953105

30963106

30973107
[[xsd-config-body-schemas-context-ltw]]
30983108
===== <load-time-weaver/>
30993109

3100-
This element is detailed in <<aop-aj-ltw>>.
3110+
This element is detailed in <<core.adoc#aop-aj-ltw,
3111+
Load-time weaving with AspectJ in the Spring Framework>>.
31013112

31023113

31033114
[[xsd-config-body-schemas-context-sc]]
31043115
===== <spring-configured/>
31053116

3106-
This element is detailed in <<aop-atconfigurable>>.
3117+
This element is detailed in <<core.adoc#aop-atconfigurable,
3118+
Using AspectJ to dependency inject domain objects with Spring>>.
31073119

31083120

31093121
[[xsd-config-body-schemas-context-mbe]]
31103122
===== <mbean-export/>
31113123

3112-
This element is detailed in <<jmx-context-mbeanexport>>.
3124+
This element is detailed in <<integration.adoc#jmx-context-mbeanexport,
3125+
Configuring annotation based MBean export>>.
31133126

31143127

31153128

@@ -3134,8 +3147,9 @@ distribution.
31343147
==== the jdbc schema
31353148

31363149
The `jdbc` tags allow you to quickly configure an embedded database or initialize an
3137-
existing data source. These tags are documented in <<jdbc-embedded-database-support>>
3138-
and <<jdbc-intializing-datasource>> respectively.
3150+
existing data source. These tags are documented in
3151+
<<data-access.adoc#jdbc-embedded-database-support,Embedded database support>>
3152+
and <<data-access.adoc#jdbc-initializing-datasource,Initializing a DataSource>> respectively.
31393153

31403154
To use the tags in the `jdbc` schema, you need to have the following preamble at the top
31413155
of your Spring XML configuration file; the text in the following snippet references the
@@ -3161,7 +3175,8 @@ correct schema so that the tags in the `jdbc` namespace are available to you.
31613175

31623176
The `cache` tags can be used to enable support for Spring's `@CacheEvict`, `@CachePut`
31633177
and `@Caching` annotations. It it also supports declarative XML-based caching. See
3164-
<<cache-annotation-enable>> and <<cache-declarative-xml>> for details.
3178+
<<integration.adoc#cache-annotation-enable,Enable caching annotations>> and
3179+
<<integration.adoc#cache-declarative-xml,Declarative XML-based caching>> for details.
31653180

31663181
To use the tags in the `cache` schema, you need to have the following preamble at the
31673182
top of your Spring XML configuration file; the text in the following snippet references
@@ -3188,7 +3203,8 @@ the correct schema so that the tags in the `cache` namespace are available to yo
31883203
Last but not least we have the tags in the `beans` schema. These are the same tags that
31893204
have been in Spring since the very dawn of the framework. Examples of the various tags
31903205
in the `beans` schema are not shown here because they are quite comprehensively covered
3191-
in <<beans-factory-properties-detailed>> (and indeed in that entire <<beans,chapter>>).
3206+
in <<core.adoc#beans-factory-properties-detailed,Dependencies and configuration in detail>>
3207+
(and indeed in that entire <<core.adoc#beans,chapter>>).
31923208

31933209
One thing that is new to the beans tags themselves in Spring 2.0 is the idea of
31943210
arbitrary bean metadata. In Spring 2.0 it is now possible to add zero or more key /
@@ -3365,7 +3381,7 @@ The `NamespaceHandler` interface is pretty simple in that it features just three
33653381
* `BeanDefinitionHolder decorate(Node, BeanDefinitionHolder, ParserContext)` - called
33663382
when Spring encounters an attribute or nested element of a different namespace. The
33673383
decoration of one or more bean definitions is used for example with
3368-
the<<beans-factory-scopes,out-of-the-box scopes Spring 2.0 supports>>. We'll start by
3384+
the<<core.adoc#beans-factory-scopes,out-of-the-box scopes Spring 2.0 supports>>. We'll start by
33693385
highlighting a simple example, without using decoration, after which we will show
33703386
decoration in a somewhat more advanced example.
33713387

src/docs/asciidoc/core.adoc

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
= Core Technologies
33
:doc-root: https://docs.spring.io
44
:api-spring-framework: {doc-root}/spring-framework/docs/{spring-version}/javadoc-api/org/springframework
5+
:toc: left
6+
:toclevels: 2
57

6-
[partintro]
7-
--
88
This part of the reference documentation covers all of those technologies that are
99
absolutely integral to the Spring Framework.
1010

@@ -19,17 +19,6 @@ Coverage of Spring's integration with AspectJ (currently the richest - in terms
1919
features - and certainly most mature AOP implementation in the Java enterprise space) is
2020
also provided.
2121

22-
23-
* <<beans>>
24-
* <<resources>>
25-
* <<validation>>
26-
* <<expressions>>
27-
* <<aop>>
28-
* <<aop-api>>
29-
--
30-
31-
32-
3322
include::core/core-beans.adoc[leveloffset=+1]
3423

3524
include::core/core-resources.adoc[leveloffset=+1]

src/docs/asciidoc/core/core-aop.adoc

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -259,8 +259,9 @@ element:
259259
<aop:aspectj-autoproxy/>
260260
----
261261

262-
This assumes that you are using schema support as described in <<xsd-configuration>>. See
263-
<<xsd-config-body-schemas-aop>> for how to import the tags in the `aop` namespace.
262+
This assumes that you are using schema support as described in <<appendix.adoc#xsd-configuration,
263+
XML Schema-based configuration>>. See <<appendix.adoc#xsd-config-body-schemas-aop, the AOP schema>>
264+
for how to import the tags in the `aop` namespace.
264265

265266

266267

@@ -572,7 +573,7 @@ write:
572573
----
573574

574575
The `<aop:config>` and `<aop:advisor>` elements are discussed in <<aop-schema>>. The
575-
transaction elements are discussed in <<transaction>>.
576+
transaction elements are discussed in <<data-access.adoc#transaction, Transaction Management>>.
576577

577578

578579
[[aop-pointcuts-examples]]
@@ -1552,7 +1553,9 @@ the new __syntax__ and refer the reader to the discussion in the previous sectio
15521553
of advice parameters.
15531554

15541555
To use the aop namespace tags described in this section, you need to import the
1555-
`spring-aop` schema as described in <<xsd-configuration>>. See <<xsd-config-body-schemas-aop>>
1556+
`spring-aop` schema as described in <<appendix.adoc#xsd-configuration,
1557+
XML Schema-based configuration>>.
1558+
See <<appendix.adoc#xsd-config-body-schemas-aop, the AOP schema>>
15561559
for how to import the tags in the `aop` namespace.
15571560

15581561
Within your Spring configurations, all aspect and advisor elements must be placed within
@@ -2790,7 +2793,7 @@ using Java based configuration simply add `@EnableSpringConfigured` to any
27902793
}
27912794
----
27922795

2793-
If you prefer XML based configuration, the Spring <<xsd-config-body-schemas-context,
2796+
If you prefer XML based configuration, the Spring <<appendix.adoc#xsd-config-body-schemas-context,
27942797
`context` namespace>> defines a convenient `context:spring-configured` element:
27952798

27962799
[source,xml,indent=0]
@@ -3030,8 +3033,8 @@ profiling tool to that specific area immediately afterwards.
30303033
[NOTE]
30313034
====
30323035
The example presented here uses XML style configuration, it is also possible to
3033-
configure and use @AspectJ with <<beans-java,Java Configuration>>. Specifically the
3034-
`@EnableLoadTimeWeaving` annotation can be used as an alternative to
3036+
configure and use @AspectJ with <<beans-java,Java Configuration>>.
3037+
Specifically the `@EnableLoadTimeWeaving` annotation can be used as an alternative to
30353038
`<context:load-time-weaver/>` (see <<aop-aj-ltw-spring,below>> for details).
30363039
====
30373040

0 commit comments

Comments
 (0)