Skip to content

Commit 9ceb75b

Browse files
rwinchrstoyanchev
authored andcommitted
Insert explicit ids for headers
1 parent 3fe7c65 commit 9ceb75b

16 files changed

+58
-2
lines changed

framework-docs/modules/ROOT/pages/core/appendix.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1667,4 +1667,4 @@ its behavior changes.
16671667
| `spring.context.refresh`
16681668
| Application context refresh phase.
16691669
|
1670-
|===
1670+
|===

framework-docs/modules/ROOT/pages/core/null-safety.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ Spring application developers.
3030

3131

3232

33+
[[use-cases]]
3334
== Use cases
3435

3536
In addition to providing an explicit declaration for Spring Framework API nullability,
@@ -43,6 +44,7 @@ are available in the <<languages#kotlin-null-safety, Kotlin support documentatio
4344

4445

4546

47+
[[jsr-305-meta-annotations]]
4648
== JSR-305 meta-annotations
4749

4850
Spring annotations are meta-annotated with https://jcp.org/en/jsr/detail?id=305[JSR 305]

framework-docs/modules/ROOT/pages/index.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
:noheader:
2+
[[spring-framework-documentation]]
23
= Spring Framework Documentation
34
include::attributes.adoc[]
45

framework-docs/modules/ROOT/pages/integration/cache.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -831,6 +831,7 @@ invoking the method again:
831831
----
832832

833833

834+
[[enabling-jsr-107-support]]
834835
=== Enabling JSR-107 Support
835836

836837
You do not need to do anything specific to enable the JSR-107 support alongside Spring's

framework-docs/modules/ROOT/pages/integration/scheduling.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -763,6 +763,7 @@ Here are some examples:
763763
| `0 0 0 ? * MON#1` | the first Monday in the month at midnight
764764
|===
765765

766+
[[macros]]
766767
=== Macros
767768

768769
Expressions such as `0 0 * * * *` are hard for humans to parse and are, therefore, hard to fix in case of bugs.

framework-docs/modules/ROOT/pages/languages/kotlin.adoc

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,7 @@ for more details and up-to-date information. See also the experimental Kofu DSL
296296

297297

298298

299+
[[router-dsl]]
299300
=== Router DSL
300301

301302
Spring Framework comes with a Kotlin router DSL available in 3 flavors:
@@ -339,6 +340,7 @@ See https://github.com/mixitconf/mixit/[MiXiT project] for a concrete example.
339340

340341

341342

343+
[[mockmvc-dsl]]
342344
=== MockMvc DSL
343345

344346
A Kotlin DSL is provided via `MockMvc` Kotlin extensions in order to provide a more
@@ -366,6 +368,7 @@ mockMvc.get("/person/{name}", "Lee") {
366368

367369

368370

371+
[[kotlin-script-templates]]
369372
=== Kotlin Script Templates
370373

371374
Spring Framework provides a
@@ -413,6 +416,7 @@ project for more details.
413416

414417

415418

419+
[[kotlin-multiplatform-serialization]]
416420
=== Kotlin multiplatform serialization
417421

418422
As of Spring Framework 5.3, https://github.com/Kotlin/kotlinx.serialization[Kotlin multiplatform serialization] is
@@ -427,6 +431,7 @@ if Jackson is needed configure `KotlinSerializationJsonMessageConverter` manuall
427431

428432

429433

434+
[[coroutines]]
430435
== Coroutines
431436

432437
Kotlin https://kotlinlang.org/docs/reference/coroutines-overview.html[Coroutines] are Kotlin
@@ -447,6 +452,7 @@ Spring Framework provides support for Coroutines on the following scope:
447452

448453

449454

455+
[[dependencies]]
450456
=== Dependencies
451457

452458
Coroutines support is enabled when `kotlinx-coroutines-core` and `kotlinx-coroutines-reactor`
@@ -466,6 +472,7 @@ Version `1.4.0` and above are supported.
466472

467473

468474

475+
[[how-reactive-translates-to-coroutines?]]
469476
=== How Reactive translates to Coroutines?
470477

471478
For return values, the translation from Reactive to Coroutines APIs is the following:
@@ -494,6 +501,7 @@ for more details, including how to run code concurrently with Coroutines.
494501

495502

496503

504+
[[controllers]]
497505
=== Controllers
498506

499507
Here is an example of a Coroutines `@RestController`.
@@ -592,6 +600,7 @@ class CoroutinesViewController(banner: Banner) {
592600

593601

594602

603+
[[webflux-fn]]
595604
=== WebFlux.fn
596605

597606
Here is an example of Coroutines router defined via the {docs-spring-framework}/kdoc-api/spring-webflux/org.springframework.web.reactive.function.server/co-router.html[coRouter { }] DSL and related handlers.
@@ -627,6 +636,7 @@ class UserHandler(builder: WebClient.Builder) {
627636

628637

629638

639+
[[transactions]]
630640
=== Transactions
631641

632642
Transactions on Coroutines are supported via the programmatic variant of the Reactive
@@ -686,6 +696,7 @@ in Kotlin.
686696

687697

688698

699+
[[final-by-default]]
689700
=== Final by Default
690701

691702
By default, https://discuss.kotlinlang.org/t/classes-final-by-default/166[all classes in Kotlin are `final`].
@@ -727,6 +738,7 @@ using the `kotlin-allopen` plugin, since this is the most commonly used setup.
727738

728739

729740

741+
[[using-immutable-class-instances-for-persistence]]
730742
=== Using Immutable Class Instances for Persistence
731743

732744
In Kotlin, it is convenient and considered to be a best practice to declare read-only properties
@@ -772,6 +784,7 @@ does not require the `kotlin-noarg` plugin if the module uses Spring Data object
772784

773785

774786

787+
[[injecting-dependencies]]
775788
=== Injecting Dependencies
776789

777790
Our recommendation is to try to favor constructor injection with `val` read-only (and
@@ -809,6 +822,7 @@ as the following example shows:
809822

810823

811824

825+
[[injecting-configuration-properties]]
812826
=== Injecting Configuration Properties
813827

814828
In Java, you can inject configuration properties by using annotations (such as pass:q[`@Value("${property}")`)].
@@ -850,6 +864,7 @@ that uses the `${...}` syntax, with configuration beans, as the following exampl
850864

851865

852866

867+
[[checked-exceptions]]
853868
=== Checked Exceptions
854869

855870
Java and https://kotlinlang.org/docs/reference/exceptions.html[Kotlin exception handling]
@@ -864,6 +879,7 @@ to specify explicitly the checked exceptions thrown (for example `@Throws(IOExce
864879

865880

866881

882+
[[annotation-array-attributes]]
867883
=== Annotation Array Attributes
868884

869885
Kotlin annotations are mostly similar to Java annotations, but array attributes (which are
@@ -910,6 +926,7 @@ be matched, not only the `GET` method.
910926

911927

912928

929+
[[testing]]
913930
=== Testing
914931

915932
This section addresses testing with the combination of Kotlin and Spring Framework.
@@ -920,6 +937,7 @@ NOTE: If you are using Spring Boot, see
920937
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-kotlin-testing[this related documentation].
921938

922939

940+
[[constructor-injection]]
923941
==== Constructor injection
924942

925943
As described in the <<testing#testcontext-junit-jupiter-di, dedicated section>>,
@@ -942,6 +960,7 @@ class OrderServiceIntegrationTests(val orderService: OrderService,
942960
====
943961

944962

963+
[[per_class-lifecycle]]
945964
==== `PER_CLASS` Lifecycle
946965

947966
Kotlin lets you specify meaningful test function names between backticks (```).
@@ -986,6 +1005,7 @@ class IntegrationTests {
9861005
----
9871006

9881007

1008+
[[specification-like-tests]]
9891009
==== Specification-like Tests
9901010

9911011
You can create specification-like tests with JUnit 5 and Kotlin.
@@ -1036,13 +1056,15 @@ https://spring.io/guides/tutorials/spring-boot-kotlin/[the dedicated tutorial].
10361056

10371057

10381058

1059+
[[start-spring-io]]
10391060
=== `start.spring.io`
10401061

10411062
The easiest way to start a new Spring Framework project in Kotlin is to create a new Spring
10421063
Boot 2 project on https://start.spring.io/#!language=kotlin&type=gradle-project[start.spring.io].
10431064

10441065

10451066

1067+
[[choosing-the-web-flavor]]
10461068
=== Choosing the Web Flavor
10471069

10481070
Spring Framework now comes with two different web stacks: <<web#mvc, Spring MVC>> and
@@ -1073,6 +1095,7 @@ Kotlin and the Spring Framework:
10731095

10741096

10751097

1098+
[[examples]]
10761099
=== Examples
10771100

10781101
The following Github projects offer examples that you can learn from and possibly even extend:
@@ -1087,6 +1110,7 @@ The following Github projects offer examples that you can learn from and possibl
10871110

10881111

10891112

1113+
[[issues]]
10901114
=== Issues
10911115

10921116
The following list categorizes the pending issues related to Spring and Kotlin support:
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
:toc: left
22
:toclevels: 4
33
:tabsize: 4
4-
:docinfo1:
4+
:docinfo1:

framework-docs/modules/ROOT/pages/testing/testcontext-framework.adoc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,15 @@ test execution by providing dependency injection, managing transactions, and so
3838
class. See the {api-spring-framework}/test/context/package-summary.html[javadoc] and the
3939
Spring test suite for further information and examples of various implementations.
4040

41+
[[testcontext]]
4142
=== `TestContext`
4243

4344
`TestContext` encapsulates the context in which a test is run (agnostic of the
4445
actual testing framework in use) and provides context management and caching support for
4546
the test instance for which it is responsible. The `TestContext` also delegates to a
4647
`SmartContextLoader` to load an `ApplicationContext` if requested.
4748

49+
[[testcontextmanager]]
4850
=== `TestContextManager`
4951

5052
`TestContextManager` is the main entry point into the Spring TestContext Framework and is
@@ -59,11 +61,13 @@ responsible for managing a single `TestContext` and signaling events to each reg
5961
* After any "`after`" or "`after each`" methods of a particular testing framework.
6062
* After any "`after class`" or "`after all`" methods of a particular testing framework.
6163

64+
[[testexecutionlistener]]
6265
=== `TestExecutionListener`
6366

6467
`TestExecutionListener` defines the API for reacting to test-execution events published by
6568
the `TestContextManager` with which the listener is registered. See <<testcontext-tel-config>>.
6669

70+
[[context-loaders]]
6771
=== Context Loaders
6872

6973
`ContextLoader` is a strategy interface for loading an `ApplicationContext` for an
@@ -1732,6 +1736,7 @@ through the `getPropertySourceLocations()` and `getPropertySourceProperties()` m
17321736
`MergedContextConfiguration`.
17331737
====
17341738

1739+
[[declaring-test-property-sources]]
17351740
==== Declaring Test Property Sources
17361741

17371742
You can configure test properties files by using the `locations` or `value` attribute of
@@ -1829,6 +1834,7 @@ meta-annotation.
18291834
====
18301835

18311836

1837+
[[default-properties-file-detection]]
18321838
==== Default Properties File Detection
18331839

18341840
If `@TestPropertySource` is declared as an empty annotation (that is, without explicit
@@ -1838,6 +1844,7 @@ if the annotated test class is `com.example.MyTest`, the corresponding default p
18381844
file is `classpath:com/example/MyTest.properties`. If the default cannot be detected, an
18391845
`IllegalStateException` is thrown.
18401846

1847+
[[precedence]]
18411848
==== Precedence
18421849

18431850
Test properties have higher precedence than those defined in the operating system's
@@ -1881,6 +1888,7 @@ to specify properties both in a file and inline:
18811888
}
18821889
----
18831890

1891+
[[inheriting-and-overriding-test-property-sources]]
18841892
==== Inheriting and Overriding Test Property Sources
18851893

18861894
`@TestPropertySource` supports boolean `inheritLocations` and `inheritProperties`
@@ -2062,6 +2070,7 @@ properties.
20622070
}
20632071
----
20642072

2073+
[[precedence]]
20652074
==== Precedence
20662075

20672076
Dynamic properties have higher precedence than those loaded from `@TestPropertySource`,

framework-docs/modules/ROOT/pages/web/web-uris.adoc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
[id={chapter}.web-uricomponents]
2+
[[uricomponents]]
23
= UriComponents
34
[.small]#Spring MVC and Spring WebFlux#
45

@@ -102,6 +103,7 @@ You can shorten it further still with a full URI template, as the following exam
102103

103104

104105
[id={chapter}.web-uribuilder]
106+
[[uribuilder]]
105107
= UriBuilder
106108
[.small]#Spring MVC and Spring WebFlux#
107109

@@ -194,6 +196,7 @@ that holds configuration and preferences, as the following example shows:
194196

195197

196198
[id={chapter}.web-uri-encoding]
199+
[[uri-encoding]]
197200
= URI Encoding
198201
[.small]#Spring MVC and Spring WebFlux#
199202

framework-docs/modules/ROOT/pages/web/webflux-functional.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -619,6 +619,7 @@ RouterFunction<ServerResponse> route = route()
619619
<4> `otherRoute` is a router function that is created elsewhere, and added to the route built.
620620

621621

622+
[[nested-routes]]
622623
=== Nested Routes
623624

624625
It is common for a group of router functions to have a shared predicate, for instance a

0 commit comments

Comments
 (0)