diff --git a/framework-docs/framework-docs.gradle b/framework-docs/framework-docs.gradle index 7f98570b96ce..72acc52ba093 100644 --- a/framework-docs/framework-docs.gradle +++ b/framework-docs/framework-docs.gradle @@ -130,7 +130,7 @@ asciidoctorPdf { baseDirFollowsSourceDir() configurations 'asciidoctorExtensions' sources { - include '*.adoc' + include 'spring-framework.adocbook' } outputDir "$buildDir/docs/ref-docs/pdf" forkOptions { diff --git a/framework-docs/src/docs/asciidoc/core/core-aop.adoc b/framework-docs/src/docs/asciidoc/core/core-aop.adoc index 6f36f81b0920..61d2135f7ab5 100644 --- a/framework-docs/src/docs/asciidoc/core/core-aop.adoc +++ b/framework-docs/src/docs/asciidoc/core/core-aop.adoc @@ -262,8 +262,8 @@ element, as the following example shows: ---- This assumes that you use schema support as described in -<>. -See <> for how to +<>. +See <> for how to import the tags in the `aop` namespace. @@ -1991,8 +1991,8 @@ that syntax and refer the reader to the discussion in the previous section of advice parameters. To use the aop namespace tags described in this section, you need to import the -`spring-aop` schema, as described in <>. See <> +`spring-aop` schema, as described in <>. See <> for how to import the tags in the `aop` namespace. Within your Spring configurations, all aspect and advisor elements must be placed within @@ -3502,7 +3502,7 @@ use Java-based configuration, you can add `@EnableSpringConfigured` to any ---- If you prefer XML based configuration, the Spring -<> +<> defines a convenient `context:spring-configured` element, which you can use as follows: [source,xml,indent=0,subs="verbatim,quotes"] diff --git a/framework-docs/src/docs/asciidoc/core/core-appendix.adoc b/framework-docs/src/docs/asciidoc/core/core-appendix.adoc index 68e472040aed..9ecc84772896 100644 --- a/framework-docs/src/docs/asciidoc/core/core-appendix.adoc +++ b/framework-docs/src/docs/asciidoc/core/core-appendix.adoc @@ -1,16 +1,17 @@ +[[core.appendix]] = Appendix -[[xsd-schemas]] +[[core.appendix.xsd-schemas]] == XML Schemas This part of the appendix lists XML schemas related to the core container. -[[xsd-schemas-util]] +[[core.appendix.xsd-schemas-util]] === The `util` Schema As the name implies, the `util` tags deal with common, utility configuration @@ -35,7 +36,7 @@ correct schema so that the tags in the `util` namespace are available to you): ---- -[[xsd-schemas-util-constant]] +[[core.appendix.xsd-schemas-util-constant]] ==== Using `` Consider the following bean definition: @@ -68,7 +69,7 @@ developer's intent ("`inject this constant value`"), and it reads better: ---- -[[xsd-schemas-util-frfb]] +[[core.appendix.xsd-schemas-util-frfb]] ===== Setting a Bean Property or Constructor Argument from a Field Value {api-spring-framework}/beans/factory/config/FieldRetrievingFactoryBean.html[`FieldRetrievingFactoryBean`] @@ -180,7 +181,7 @@ Now consider the following setter of type `PersistenceContextType` and the corre ---- -[[xsd-schemas-util-property-path]] +[[core.appendix.xsd-schemas-util-property-path]] ==== Using `` Consider the following example: @@ -227,7 +228,7 @@ The value of the `path` attribute of the `` element follows the `beanName.beanProperty`. In this case, it picks up the `age` property of the bean named `testBean`. The value of that `age` property is `10`. -[[xsd-schemas-util-property-path-dependency]] +[[core.appendix.xsd-schemas-util-property-path-dependency]] ===== Using `` to Set a Bean Property or Constructor Argument `PropertyPathFactoryBean` is a `FactoryBean` that evaluates a property path on a given @@ -302,7 +303,7 @@ for most use cases, but it can sometimes be useful. See the javadoc for more inf this feature. -[[xsd-schemas-util-properties]] +[[core.appendix.xsd-schemas-util-properties]] ==== Using `` Consider the following example: @@ -328,7 +329,7 @@ The following example uses a `util:properties` element to make a more concise re ---- -[[xsd-schemas-util-list]] +[[core.appendix.xsd-schemas-util-list]] ==== Using `` Consider the following example: @@ -383,7 +384,7 @@ following configuration: If no `list-class` attribute is supplied, the container chooses a `List` implementation. -[[xsd-schemas-util-map]] +[[core.appendix.xsd-schemas-util-map]] ==== Using `` Consider the following example: @@ -438,7 +439,7 @@ following configuration: If no `'map-class'` attribute is supplied, the container chooses a `Map` implementation. -[[xsd-schemas-util-set]] +[[core.appendix.xsd-schemas-util-set]] ==== Using `` Consider the following example: @@ -494,7 +495,7 @@ If no `set-class` attribute is supplied, the container chooses a `Set` implement -[[xsd-schemas-aop]] +[[core.appendix.xsd-schemas-aop]] === The `aop` Schema The `aop` tags deal with configuring all things AOP in Spring, including Spring's @@ -524,7 +525,7 @@ are available to you): -[[xsd-schemas-context]] +[[core.appendix.xsd-schemas-context]] === The `context` Schema The `context` tags deal with `ApplicationContext` configuration that relates to plumbing @@ -549,7 +550,7 @@ available to you: ---- -[[xsd-schemas-context-pphc]] +[[core.appendix.xsd-schemas-context-pphc]] ==== Using `` This element activates the replacement of `${...}` placeholders, which are resolved against a @@ -559,7 +560,7 @@ is a convenience mechanism that sets up a <` This element activates the Spring infrastructure to detect annotations in bean classes: @@ -582,28 +583,28 @@ element for that purpose. Similarly, Spring's <> as well. -[[xsd-schemas-context-component-scan]] +[[core.appendix.xsd-schemas-context-component-scan]] ==== Using `` This element is detailed in the section on <>. -[[xsd-schemas-context-ltw]] +[[core.appendix.xsd-schemas-context-ltw]] ==== Using `` This element is detailed in the section on <>. -[[xsd-schemas-context-sc]] +[[core.appendix.xsd-schemas-context-sc]] ==== Using `` This element is detailed in the section on <>. -[[xsd-schemas-context-mbe]] +[[core.appendix.xsd-schemas-context-mbe]] ==== Using `` This element is detailed in the section on <>. -[[xsd-schemas-beans]] +[[core.appendix.xsd-schemas-beans]] === The Beans Schema Last but not least, we have the elements in the `beans` schema. These elements @@ -623,7 +624,7 @@ in <` XML definitions. What, if anything, is done with this extra metadata is totally up to your own custom logic (and so is typically only of use if you write your own custom elements as described -in the appendix entitled <>). +in the appendix entitled <>). The following example shows the `` element in the context of a surrounding `` (note that, without any logic to interpret it, the metadata is effectively useless @@ -652,10 +653,10 @@ the bean definition and sets up some caching infrastructure that uses the suppli -[[xml-custom]] +[[core.appendix.xml-custom]] == XML Schema Authoring -[[xsd-custom-introduction]] +[[core.appendix.xsd-custom-introduction]] Since version 2.0, Spring has featured a mechanism for adding schema-based extensions to the basic Spring XML format for defining and configuring beans. This section covers how to write your own custom XML bean definition parsers and @@ -664,16 +665,16 @@ integrate such parsers into the Spring IoC container. To facilitate authoring configuration files that use a schema-aware XML editor, Spring's extensible XML configuration mechanism is based on XML Schema. If you are not familiar with Spring's current XML configuration extensions that come with the standard -Spring distribution, you should first read the previous section on <>. +Spring distribution, you should first read the previous section on <>. To create new XML configuration extensions: -. <> an XML schema to describe your custom element(s). -. <> a custom `NamespaceHandler` implementation. -. <> one or more `BeanDefinitionParser` implementations +. <> an XML schema to describe your custom element(s). +. <> a custom `NamespaceHandler` implementation. +. <> one or more `BeanDefinitionParser` implementations (this is where the real work is done). -. <> your new artifacts with Spring. +. <> your new artifacts with Spring. For a unified example, we create an XML extension (a custom XML element) that lets us configure objects of the type @@ -693,7 +694,7 @@ through the basic steps of making a custom extension.) -[[xsd-custom-schema]] +[[core.appendix.xsd-custom-schema]] === Authoring the Schema Creating an XML configuration extension for use with Spring's IoC container starts with @@ -765,7 +766,7 @@ defined in the enumeration. -[[xsd-custom-namespacehandler]] +[[core.appendix.xsd-custom-namespacehandler]] === Coding a `NamespaceHandler` In addition to the schema, we need a `NamespaceHandler` to parse all elements of @@ -836,7 +837,7 @@ custom element, as we can see in the next step. -[[xsd-custom-parser]] +[[core.appendix.xsd-custom-parser]] === Using `BeanDefinitionParser` A `BeanDefinitionParser` is used if the `NamespaceHandler` encounters an XML @@ -926,7 +927,7 @@ is the extraction and setting of the bean definition's unique identifier. -[[xsd-custom-registration]] +[[core.appendix.xsd-custom-registration]] === Registering the Handler and the Schema The coding is finished. All that remains to be done is to make the Spring XML @@ -938,7 +939,7 @@ XML parsing infrastructure automatically picks up your new extension by consumin these special properties files, the formats of which are detailed in the next two sections. -[[xsd-custom-registration-spring-handlers]] +[[core.appendix.xsd-custom-registration-spring-handlers]] ==== Writing `META-INF/spring.handlers` The properties file called `spring.handlers` contains a mapping of XML Schema URIs to @@ -957,7 +958,7 @@ namespace extension and needs to exactly match exactly the value of the `targetN attribute, as specified in your custom XSD schema. -[[xsd-custom-registration-spring-schemas]] +[[core.appendix.xsd-custom-registration-spring-schemas]] ==== Writing 'META-INF/spring.schemas' The properties file called `spring.schemas` contains a mapping of XML Schema locations @@ -981,7 +982,7 @@ the `NamespaceHandler` and `BeanDefinitionParser` classes on the classpath. -[[xsd-custom-using]] +[[core.appendix.xsd-custom-using]] === Using a Custom Extension in Your Spring XML Configuration Using a custom extension that you yourself have implemented is no different from using @@ -1015,13 +1016,13 @@ in a Spring XML configuration file: -[[xsd-custom-meat]] +[[core.appendix.xsd-custom-meat]] === More Detailed Examples This section presents some more detailed examples of custom XML extensions. -[[xsd-custom-custom-nested]] +[[core.appendix.xsd-custom-custom-nested]] ==== Nesting Custom Elements within Custom Elements The example presented in this section shows how you to write the various artifacts required @@ -1195,7 +1196,7 @@ setter property for the `components` property. The following listing shows such This works nicely, but it exposes a lot of Spring plumbing to the end user. What we are going to do is write a custom extension that hides away all of this Spring plumbing. -If we stick to <>, we start off +If we stick to <>, we start off by creating the XSD schema to define the structure of our custom tag, as the following listing shows: @@ -1222,7 +1223,7 @@ listing shows: ---- -Again following <>, +Again following <>, we then create a custom `NamespaceHandler`: [source,java,indent=0,subs="verbatim,quotes",role="primary"] @@ -1373,7 +1374,7 @@ http\://www.foo.example/schema/component/component.xsd=com/foo/component.xsd ---- -[[xsd-custom-custom-just-attributes]] +[[core.appendix.xsd-custom-custom-just-attributes]] ==== Custom Attributes on "`Normal`" Elements Writing your own custom parser and the associated artifacts is not hard. However, @@ -1610,7 +1611,7 @@ http\://www.foo.example/schema/jcache/jcache.xsd=com/foo/jcache.xsd ---- -[[application-startup-steps]] +[[core.appendix.application-startup-steps]] == Application Startup Steps This part of the appendix lists the existing `StartupSteps` that the core container is instrumented with. diff --git a/framework-docs/src/docs/asciidoc/core/core-beans.adoc b/framework-docs/src/docs/asciidoc/core/core-beans.adoc index ac5af98bb6be..544817bce341 100644 --- a/framework-docs/src/docs/asciidoc/core/core-beans.adoc +++ b/framework-docs/src/docs/asciidoc/core/core-beans.adoc @@ -1900,7 +1900,7 @@ The preceding configuration is equivalent to the following Java code: The p-namespace lets you use the `bean` element's attributes (instead of nested `` elements) to describe your property values collaborating beans, or both. -Spring supports extensible configuration formats <>, +Spring supports extensible configuration formats <>, which are based on an XML Schema definition. The `beans` configuration format discussed in this chapter is defined in an XML Schema document. However, the p-namespace is not defined in an XSD file and exists only in the core of Spring. @@ -3094,7 +3094,7 @@ understand the "`why`" as well as the "`how`" behind it: To create such a proxy, you insert a child `` element into a scoped bean definition (see <> and -<>). +<>). Why do definitions of beans scoped at the `request`, `session` and custom-scope levels require the `` element? Consider the following singleton bean definition and contrast it with @@ -10995,7 +10995,7 @@ Here is an example of instrumentation in the `AnnotationConfigApplicationContext The application context is already instrumented with multiple steps. Once recorded, these startup steps can be collected, displayed and analyzed with specific tools. For a complete list of existing startup steps, you can check out the -<>. +<>. The default `ApplicationStartup` implementation is a no-op variant, for minimal overhead. This means no metrics will be collected during application startup by default. diff --git a/framework-docs/src/docs/asciidoc/data-access.adoc b/framework-docs/src/docs/asciidoc/data-access.adoc index 17a5890cb80e..b9a2453022c4 100644 --- a/framework-docs/src/docs/asciidoc/data-access.adoc +++ b/framework-docs/src/docs/asciidoc/data-access.adoc @@ -326,7 +326,7 @@ infrastructure. NOTE: The preceding definition of the `dataSource` bean uses the `` tag from the `jee` namespace. For more information see -<>. +<>. NOTE: If you use JTA, your transaction manager definition should look the same, regardless of what data access technology you use, be it JDBC, Hibernate JPA, or any other supported diff --git a/framework-docs/src/docs/asciidoc/data-access/data-access-appendix.adoc b/framework-docs/src/docs/asciidoc/data-access/data-access-appendix.adoc index 6f65348c12b6..f876e464bf9c 100644 --- a/framework-docs/src/docs/asciidoc/data-access/data-access-appendix.adoc +++ b/framework-docs/src/docs/asciidoc/data-access/data-access-appendix.adoc @@ -1,9 +1,10 @@ +[[data.access.appendix]] = Appendix -[[xsd-schemas]] +[[data.access.xsd-schemas]] == XML Schemas This part of the appendix lists XML schemas for data access, including the following: diff --git a/framework-docs/src/docs/asciidoc/index.adoc b/framework-docs/src/docs/asciidoc/index.adoc index 45ca795618e7..15e7db515548 100644 --- a/framework-docs/src/docs/asciidoc/index.adoc +++ b/framework-docs/src/docs/asciidoc/index.adoc @@ -21,7 +21,7 @@ Email, Tasks, Scheduling, Caching. https://github.com/spring-projects/spring-framework/wiki[*Wiki*] :: What's New, Upgrade Notes, Supported Versions, and other cross-version information. -NOTE: This documentation is available in {docs-spring-framework}/reference/html/index.html[HTML] and {docs-spring-framework}/reference/pdf/index.pdf[PDF] formats. +NOTE: This documentation is available in {docs-spring-framework}/reference/html/index.html[HTML] and {docs-spring-framework}/reference/pdf/spring-framework.pdf[PDF] formats. Rod Johnson, Juergen Hoeller, Keith Donald, Colin Sampaleanu, Rob Harrop, Thomas Risberg, Alef Arendsen, Darren Davison, Dmitriy Kopylenko, Mark Pollack, Thierry Templier, Erwin diff --git a/framework-docs/src/docs/asciidoc/integration/integration-appendix.adoc b/framework-docs/src/docs/asciidoc/integration/integration-appendix.adoc index 175b780e52b9..4b71d758733d 100644 --- a/framework-docs/src/docs/asciidoc/integration/integration-appendix.adoc +++ b/framework-docs/src/docs/asciidoc/integration/integration-appendix.adoc @@ -1,16 +1,17 @@ +[[integration.appendix]] = Appendix -[[xsd-schemas]] +[[integration.appendix.xsd-schemas]] == XML Schemas This part of the appendix lists XML schemas related to integration technologies. -[[xsd-schemas-jee]] +[[integration.appendix.xsd-schemas-jee]] === The `jee` Schema The `jee` elements deal with issues related to Jakarta EE (Enterprise Edition) configuration, @@ -37,7 +38,7 @@ correct schema so that the elements in the `jee` namespace are available to you: -[[xsd-schemas-jee-jndi-lookup]] +[[integration.appendix.xsd-schemas-jee-jndi-lookup]] ==== (simple) The following example shows how to use JNDI to look up a data source without the `jee` schema: @@ -68,7 +69,7 @@ schema: -[[xsd-schemas-jee-jndi-lookup-environment-single]] +[[integration.appendix.xsd-schemas-jee-jndi-lookup-environment-single]] ==== `` (with Single JNDI Environment Setting) The following example shows how to use JNDI to look up an environment variable without @@ -96,7 +97,7 @@ The following example shows how to use JNDI to look up an environment variable w ---- -[[xsd-schemas-jee-jndi-lookup-environment-multiple]] +[[integration.appendix.xsd-schemas-jee-jndi-lookup-environment-multiple]] ==== `` (with Multiple JNDI Environment Settings) The following example shows how to use JNDI to look up multiple environment variables @@ -130,7 +131,7 @@ The following example shows how to use JNDI to look up multiple environment vari ---- -[[xsd-schemas-jee-jndi-lookup-complex]] +[[integration.appendix.xsd-schemas-jee-jndi-lookup-complex]] ==== `` (Complex) The following example shows how to use JNDI to look up a data source and a number of @@ -164,7 +165,7 @@ different properties with `jee`: -[[xsd-schemas-jee-local-slsb]] +[[integration.appendix.xsd-schemas-jee-local-slsb]] ==== `` (Simple) The `` element configures a reference to a local EJB Stateless Session Bean. @@ -192,7 +193,7 @@ with `jee`: -[[xsd-schemas-jee-local-slsb-complex]] +[[integration.appendix.xsd-schemas-jee-local-slsb-complex]] ==== `` (Complex) The `` element configures a reference to a local EJB Stateless Session Bean. @@ -226,7 +227,7 @@ and a number of properties with `jee`: ---- -[[xsd-schemas-jee-remote-slsb]] +[[integration.appendix.xsd-schemas-jee-remote-slsb]] ==== The `` element configures a reference to a `remote` EJB Stateless Session Bean. @@ -265,7 +266,7 @@ with `jee`: -[[xsd-schemas-jms]] +[[integration.appendix.xsd-schemas-jms]] === The `jms` Schema The `jms` elements deal with configuring JMS-related beans, such as Spring's @@ -296,7 +297,7 @@ are available to you: -[[xsd-schemas-context-mbe]] +[[integration.appendix.xsd-schemas-context-mbe]] === Using `` This element is detailed in @@ -304,7 +305,7 @@ This element is detailed in -[[xsd-schemas-cache]] +[[integration.appendix.xsd-schemas-cache]] === The `cache` Schema You can use the `cache` elements to enable support for Spring's `@CacheEvict`, `@CachePut`, diff --git a/framework-docs/src/docs/asciidoc/languages/kotlin.adoc b/framework-docs/src/docs/asciidoc/languages/kotlin.adoc index d7ae799fdd36..90aa0e58778b 100644 --- a/framework-docs/src/docs/asciidoc/languages/kotlin.adoc +++ b/framework-docs/src/docs/asciidoc/languages/kotlin.adoc @@ -868,7 +868,7 @@ https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-featu ==== Constructor injection -As described in the <>, +As described in the <>, JUnit 5 allows constructor injection of beans which is pretty useful with Kotlin in order to use `val` instead of `lateinit var`. You can use {api-spring-framework}/test/context/TestConstructor.html[`@TestConstructor(autowireMode = AutowireMode.ALL)`] diff --git a/framework-docs/src/docs/asciidoc/spring-framework.adocbook b/framework-docs/src/docs/asciidoc/spring-framework.adocbook new file mode 100644 index 000000000000..a3f83c5f93c3 --- /dev/null +++ b/framework-docs/src/docs/asciidoc/spring-framework.adocbook @@ -0,0 +1,25 @@ +:noheader: += Spring Framework Documentation + +include::overview.adoc[leveloffset=+1] +include::core.adoc[leveloffset=+1] +include::testing.adoc[leveloffset=+1] +include::data-access.adoc[leveloffset=+1] +include::web.adoc[leveloffset=+1] +include::web-reactive.adoc[leveloffset=+1] +include::integration.adoc[leveloffset=+1] +include::languages.adoc[leveloffset=+1] +include::appendix.adoc[leveloffset=+1] + +Rod Johnson, Juergen Hoeller, Keith Donald, Colin Sampaleanu, Rob Harrop, Thomas Risberg, +Alef Arendsen, Darren Davison, Dmitriy Kopylenko, Mark Pollack, Thierry Templier, Erwin +Vervaet, Portia Tung, Ben Hale, Adrian Colyer, John Lewis, Costin Leau, Mark Fisher, Sam +Brannen, Ramnivas Laddad, Arjen Poutsma, Chris Beams, Tareq Abedrabbo, Andy Clement, Dave +Syer, Oliver Gierke, Rossen Stoyanchev, Phillip Webb, Rob Winch, Brian Clozel, Stephane +Nicoll, Sebastien Deleuze, Jay Bryant, Mark Paluch + +Copyright © 2002 - 2022 VMware, Inc. All Rights Reserved. + +Copies of this document may be made for your own use and for distribution to others, +provided that you do not charge any fee for such copies and further provided that each +copy contains this Copyright Notice, whether distributed in print or electronically. diff --git a/framework-docs/src/docs/asciidoc/testing.adoc b/framework-docs/src/docs/asciidoc/testing.adoc index b64de9d8b08a..2f52225a9efa 100644 --- a/framework-docs/src/docs/asciidoc/testing.adoc +++ b/framework-docs/src/docs/asciidoc/testing.adoc @@ -214,7 +214,7 @@ Doing so lets you test things such as: The Spring Framework provides first-class support for integration testing in the `spring-test` module. The name of the actual JAR file might include the release version and might also be in the long `org.springframework.test` form, depending on where you get -it from (see the <> +it from (see the <> for an explanation). This library includes the `org.springframework.test` package, which contains valuable classes for integration testing with a Spring container. This testing does not rely on an application server or other deployment environment. Such tests are diff --git a/framework-docs/src/docs/asciidoc/web/web-uris.adoc b/framework-docs/src/docs/asciidoc/web/web-uris.adoc index 11fffde9226f..593fd97ffe07 100644 --- a/framework-docs/src/docs/asciidoc/web/web-uris.adoc +++ b/framework-docs/src/docs/asciidoc/web/web-uris.adoc @@ -1,4 +1,4 @@ -[[web-uricomponents]] +[id={chapter}.web-uricomponents] = UriComponents [.small]#Spring MVC and Spring WebFlux# @@ -101,12 +101,11 @@ You can shorten it further still with a full URI template, as the following exam - -[[web-uribuilder]] +[id={chapter}.web-uribuilder] = UriBuilder [.small]#Spring MVC and Spring WebFlux# -<> implements `UriBuilder`. You can create a +<<{chapter}.web-uricomponents, `UriComponentsBuilder`>> implements `UriBuilder`. You can create a `UriBuilder`, in turn, with a `UriBuilderFactory`. Together, `UriBuilderFactory` and `UriBuilder` provide a pluggable mechanism to build URIs from URI templates, based on shared configuration, such as a base URL, encoding preferences, and other details. @@ -194,8 +193,7 @@ that holds configuration and preferences, as the following example shows: ---- - -[[web-uri-encoding]] +[id={chapter}.web-uri-encoding] = URI Encoding [.small]#Spring MVC and Spring WebFlux# diff --git a/framework-docs/src/docs/asciidoc/web/webflux.adoc b/framework-docs/src/docs/asciidoc/web/webflux.adoc index 254436c2da70..2123a530d18c 100644 --- a/framework-docs/src/docs/asciidoc/web/webflux.adoc +++ b/framework-docs/src/docs/asciidoc/web/webflux.adoc @@ -1,4 +1,5 @@ [[webflux]] +:chapter: webflux = Spring WebFlux :doc-spring-security: {doc-root}/spring-security/reference @@ -1199,7 +1200,7 @@ instance. The `View` is then used to render the response. [[webflux-viewresolution-handling]] ==== Handling -[.small]#<># +[.small]#<># The `HandlerResult` passed into `ViewResolutionResultHandler` contains the return value from the handler and the model that contains attributes added during request diff --git a/framework-docs/src/docs/asciidoc/web/webmvc-test.adoc b/framework-docs/src/docs/asciidoc/web/webmvc-test.adoc index 307fe10a6bf1..87b6a5387458 100644 --- a/framework-docs/src/docs/asciidoc/web/webmvc-test.adoc +++ b/framework-docs/src/docs/asciidoc/web/webmvc-test.adoc @@ -1,4 +1,4 @@ -[[testing]] +[[webmvc.test]] = Testing [.small]#<># diff --git a/framework-docs/src/docs/asciidoc/web/webmvc-view.adoc b/framework-docs/src/docs/asciidoc/web/webmvc-view.adoc index d30b07a987e6..b0725de35d8a 100644 --- a/framework-docs/src/docs/asciidoc/web/webmvc-view.adoc +++ b/framework-docs/src/docs/asciidoc/web/webmvc-view.adoc @@ -622,7 +622,7 @@ through https://www.webjars.org/[WebJars]. [[mvc-view-script-integrate]] === Script Templates -[.small]#<># +[.small]#<># You can declare a `ScriptTemplateConfigurer` bean to specify the script engine to use, the script files to load, what function to call to render templates, and so on. diff --git a/framework-docs/src/docs/asciidoc/web/webmvc.adoc b/framework-docs/src/docs/asciidoc/web/webmvc.adoc index 69a436919913..2ca22c135e7b 100644 --- a/framework-docs/src/docs/asciidoc/web/webmvc.adoc +++ b/framework-docs/src/docs/asciidoc/web/webmvc.adoc @@ -1,4 +1,5 @@ [[mvc]] +:chapter: mvc = Spring Web MVC :doc-spring-security: {doc-root}/spring-security/reference diff --git a/framework-docs/src/docs/asciidoc/web/websocket-intro.adoc b/framework-docs/src/docs/asciidoc/web/websocket-intro.adoc index 5dd3ebb5b04b..913ac8b0bef5 100644 --- a/framework-docs/src/docs/asciidoc/web/websocket-intro.adoc +++ b/framework-docs/src/docs/asciidoc/web/websocket-intro.adoc @@ -1,4 +1,4 @@ -[[websocket-intro]] +[[{chapter}.websocket-intro]] = Introduction to WebSocket The WebSocket protocol, https://tools.ietf.org/html/rfc6455[RFC 6455], provides a standardized @@ -54,7 +54,7 @@ instructions of the cloud provider related to WebSocket support. -[[websocket-intro-architecture]] +[[{chapter}.websocket-intro-architecture]] == HTTP Versus WebSocket Even though WebSocket is designed to be HTTP-compatible and starts with an HTTP request, @@ -80,7 +80,7 @@ In the absence of that, they need to come up with their own conventions. -[[websocket-intro-when-to-use]] +[[{chapter}.websocket-intro-when-to-use]] == When to Use WebSockets WebSockets can make a web page be dynamic and interactive. However, in many cases,