Enable Section Summary TOC for small pages
This commit is contained in:
parent
139cde47e2
commit
35229c8bff
|
|
@ -1,5 +1,6 @@
|
|||
[[aop-api]]
|
||||
= Spring AOP APIs
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
The previous chapter described the Spring's support for AOP with @AspectJ and schema-based
|
||||
aspect definitions. In this chapter, we discuss the lower-level Spring AOP APIs. For common
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[aop-api-advisor]]
|
||||
= The Advisor API in Spring
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
In Spring, an Advisor is an aspect that contains only a single advice object associated
|
||||
with a pointcut expression.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[aop-extensibility]]
|
||||
= Defining New Advice Types
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
Spring AOP is designed to be extensible. While the interception implementation strategy
|
||||
is presently used internally, it is possible to support arbitrary advice types in
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[aop-ataspectj]]
|
||||
= @AspectJ support
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
@AspectJ refers to a style of declaring aspects as regular Java classes annotated with
|
||||
annotations. The @AspectJ style was introduced by the
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[aop-introduction-proxies]]
|
||||
= AOP Proxies
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
Spring AOP defaults to using standard JDK dynamic proxies for AOP proxies. This
|
||||
enables any interface (or set of interfaces) to be proxied.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[aop-mixing-styles]]
|
||||
= Mixing Aspect Types
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
It is perfectly possible to mix @AspectJ style aspects by using the auto-proxying support,
|
||||
schema-defined `<aop:aspect>` aspects, `<aop:advisor>` declared advisors, and even proxies
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[aop-resources]]
|
||||
= Further Resources
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
More information on AspectJ can be found on the https://www.eclipse.org/aspectj[AspectJ website].
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[core.appendix]]
|
||||
= Appendix
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[beans]]
|
||||
= The IoC Container
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
This chapter covers Spring's Inversion of Control (IoC) container.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[beans-dependencies]]
|
||||
= Dependencies
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
A typical enterprise application does not consist of a single object (or bean in the
|
||||
Spring parlance). Even the simplest application has a few objects that work together to
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[beans-java]]
|
||||
= Java-based Container Configuration
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
This section covers how to use annotations in your Java code to configure the Spring
|
||||
container. It includes the following topics:
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[expressions-language-ref]]
|
||||
= Language Reference
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
This section describes how the Spring Expression Language works. It covers the following
|
||||
topics:
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[spring-data-tier]]
|
||||
= Data Access
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
This part of the reference documentation is concerned with data access and the
|
||||
interaction between the data access layer and the business or service layer.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[orm]]
|
||||
= Object Relational Mapping (ORM) Data Access
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
This section covers data access when you use Object Relational Mapping (ORM).
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[transaction-resources]]
|
||||
= Further Resources
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
For more information about the Spring Framework's transaction support, see:
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[transaction-solutions-to-common-problems]]
|
||||
= Solutions to Common Problems
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
This section describes solutions to some common problems.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[tx-decl-vs-prog]]
|
||||
= Choosing Between Programmatic and Declarative Transaction Management
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
Programmatic transaction management is usually a good idea only if you have a small
|
||||
number of transactional operations. For example, if you have a web application that
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[spring-integration]]
|
||||
= Integration
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
This part of the reference documentation covers Spring Framework's integration with
|
||||
a number of technologies.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[cache]]
|
||||
= Cache Abstraction
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
Since version 3.1, the Spring Framework provides support for transparently adding caching to
|
||||
an existing Spring application. Similar to the xref:data-access/transaction.adoc[transaction]
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[cache-plug]]
|
||||
= Plugging-in Different Back-end Caches
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
Clearly, there are plenty of caching products out there that you can use as a backing
|
||||
store. For those that do not support JSR-107 you need to provide a `CacheManager` and a
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[cache-specific-config]]
|
||||
= How can I Set the TTL/TTI/Eviction policy/XXX feature?
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
Directly through your cache provider. The cache abstraction is an abstraction,
|
||||
not a cache implementation. The solution you use might support various data
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[jmx-resources]]
|
||||
= Further Resources
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
This section contains links to further resources about JMX:
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[languages]]
|
||||
= Language Support
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[groovy]]
|
||||
= Apache Groovy
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
Groovy is a powerful, optionally typed, and dynamic language, with static-typing and static
|
||||
compilation capabilities. It offers a concise syntax and integrates smoothly with any
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[kotlin]]
|
||||
= Kotlin
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
https://kotlinlang.org[Kotlin] is a statically typed language that targets the JVM
|
||||
(and other platforms) which allows writing concise and elegant code while providing
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[kotlin-classes-interfaces]]
|
||||
= Classes and Interfaces
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
The Spring Framework supports various Kotlin constructs, such as instantiating Kotlin classes
|
||||
through primary constructors, immutable classes data binding, and function optional parameters
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[kotlin-requirements]]
|
||||
= Requirements
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
Spring Framework supports Kotlin 1.3+ and requires
|
||||
https://search.maven.org/artifact/org.jetbrains.kotlin/kotlin-stdlib[`kotlin-stdlib`]
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[testing]]
|
||||
= Testing
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
This chapter covers Spring's support for integration testing and best practices for unit
|
||||
testing. The Spring team advocates test-driven development (TDD). The Spring team has
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[integration-testing-annotations]]
|
||||
= Annotations
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
This section covers annotations that you can use when you test Spring applications.
|
||||
It includes the following topics:
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[spring-testing-annotation-bootstrapwith]]
|
||||
= `@BootstrapWith`
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
`@BootstrapWith` is a class-level annotation that you can use to configure how the Spring
|
||||
TestContext Framework is bootstrapped. Specifically, you can use `@BootstrapWith` to
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[spring-testing-annotation-recordapplicationevents]]
|
||||
= `@RecordApplicationEvents`
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
`@RecordApplicationEvents` is a class-level annotation that is used to instruct the
|
||||
_Spring TestContext Framework_ to record all application events that are published in the
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
[[testing.appendix]]
|
||||
= Appendix
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[testing-introduction]]
|
||||
= Introduction to Spring Testing
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
Testing is an integral part of enterprise software development. This chapter focuses on
|
||||
the value added by the IoC principle to xref:testing/unit.adoc[unit testing] and on the benefits
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[spring-mvc-test-framework]]
|
||||
= MockMvc
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
The Spring MVC Test framework, also known as MockMvc, provides support for testing Spring
|
||||
MVC applications. It performs full Spring MVC request handling but via mock request and
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[spring-mvc-test-server-filters]]
|
||||
= Filter Registrations
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
When setting up a `MockMvc` instance, you can register one or more Servlet `Filter`
|
||||
instances, as the following example shows:
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[spring-mvc-test-server-htmlunit]]
|
||||
= HtmlUnit Integration
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
Spring provides integration between xref:testing/spring-mvc-test-framework/server.adoc[MockMvc] and
|
||||
https://htmlunit.sourceforge.io/[HtmlUnit]. This simplifies performing end-to-end testing
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[spring-mvc-test-server-resources]]
|
||||
= Further Examples
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
The framework's own tests include
|
||||
{spring-framework-main-code}/spring-test/src/test/java/org/springframework/test/web/servlet/samples[
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[spring-mvc-test-server-static-imports]]
|
||||
= Static Imports
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
When using MockMvc directly to perform requests, you'll need static imports for:
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[spring-mvc-test-server]]
|
||||
= Overview
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
You can write plain unit tests for Spring MVC by instantiating a controller, injecting it
|
||||
with dependencies, and calling its methods. However such tests do not verify request
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[testcontext-framework]]
|
||||
= Spring TestContext Framework
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
The Spring TestContext Framework (located in the `org.springframework.test.context`
|
||||
package) provides generic, annotation-driven unit and integration testing support that is
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[spring-web]]
|
||||
= Web on Servlet Stack
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
This part of the documentation covers support for Servlet-stack web applications built on the
|
||||
Servlet API and deployed to Servlet containers. Individual chapters include xref:web/webmvc.adoc#mvc[Spring MVC],
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[webflux-client]]
|
||||
= WebClient
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
Spring WebFlux includes a client to perform HTTP requests with. `WebClient` has a
|
||||
functional, fluent API based on Reactor, see xref:web-reactive.adoc#webflux-reactive-libraries[Reactive Libraries],
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[webflux-client-testing]]
|
||||
= Testing
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
To test code that uses the `WebClient`, you can use a mock web server, such as the
|
||||
https://github.com/square/okhttp#mockwebserver[OkHttp MockWebServer]. To see an example
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
:chapter: webflux
|
||||
[[spring-webflux]]
|
||||
= Spring WebFlux
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
The original web framework included in the Spring Framework, Spring Web MVC, was
|
||||
purpose-built for the Servlet API and Servlet containers. The reactive-stack web framework,
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[webflux-ann-methods]]
|
||||
= Handler Methods
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
[.small]#xref:web/webmvc/mvc-controller/ann-methods.adoc[See equivalent in the Servlet stack]#
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[webflux-ann-typeconversion]]
|
||||
= Type Conversion
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
[.small]#xref:web/webmvc/mvc-controller/ann-methods/typeconversion.adoc[See equivalent in the Servlet stack]#
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[webflux-http2]]
|
||||
= HTTP/2
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
[.small]#xref:web/webmvc/mvc-http2.adoc[See equivalent in the Servlet stack]#
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[webflux-web-security]]
|
||||
= Web Security
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
[.small]#xref:web/webmvc/mvc-security.adoc[See equivalent in the Servlet stack]#
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[webflux-uri-building]]
|
||||
= URI Links
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
[.small]#xref:web/webmvc/mvc-uri-building.adoc[See equivalent in the Servlet stack]#
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[mvc-view]]
|
||||
= View Technologies
|
||||
:page-section-summary-toc: 1
|
||||
[.small]#xref:web/webflux-view.adoc[See equivalent in the Reactive stack]#
|
||||
|
||||
The use of view technologies in Spring MVC is pluggable. Whether you decide to use
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[mvc-view-thymeleaf]]
|
||||
= Thymeleaf
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
[.small]#xref:web/webflux-view.adoc#webflux-view-thymeleaf[See equivalent in the Reactive stack]#
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[mvc-view-xml-marshalling]]
|
||||
= XML Marshalling
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
The `MarshallingView` uses an XML `Marshaller` (defined in the `org.springframework.oxm`
|
||||
package) to render the response content as XML. You can explicitly set the object to be
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
:chapter: mvc
|
||||
[[spring-web-mvc]]
|
||||
= Spring Web MVC
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
Spring Web MVC is the original web framework built on the Servlet API and has been included
|
||||
in the Spring Framework from the very beginning. The formal name, "Spring Web MVC,"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[mvc-config]]
|
||||
= MVC Config
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
[.small]#xref:web/webflux/dispatcher-handler.adoc#webflux-framework-config[See equivalent in the Reactive stack]#
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[mvc-ann-methods]]
|
||||
= Handler Methods
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
[.small]#xref:web/webflux/controller/ann-methods.adoc[See equivalent in the Reactive stack]#
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[mvc-http2]]
|
||||
= HTTP/2
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
[.small]#xref:web/webflux/http2.adoc[See equivalent in the Reactive stack]#
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[mvc-web-security]]
|
||||
= Web Security
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
[.small]#xref:web/webflux/security.adoc[See equivalent in the Reactive stack]#
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[mvc-servlet-config]]
|
||||
= Web MVC Config
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
[.small]#xref:web/webflux/dispatcher-handler.adoc#webflux-framework-config[See equivalent in the Reactive stack]#
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[websocket]]
|
||||
= WebSockets
|
||||
:page-section-summary-toc: 1
|
||||
[.small]#xref:web/webflux-websocket.adoc[See equivalent in the Reactive stack]#
|
||||
|
||||
This part of the reference documentation covers support for Servlet stack, WebSocket
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[websocket-stomp]]
|
||||
= STOMP
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
The WebSocket protocol defines two types of messages (text and binary), but their
|
||||
content is undefined. The protocol defines a mechanism for client and server to negotiate a
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[websocket-stomp-authorization]]
|
||||
= Authorization
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
Spring Security provides
|
||||
{docs-spring-security}/servlet/integrations/websocket.html#websocket-authorization[WebSocket sub-protocol authorization]
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[[websocket-stomp-benefits]]
|
||||
= Benefits
|
||||
:page-section-summary-toc: 1
|
||||
|
||||
Using STOMP as a sub-protocol lets the Spring Framework and Spring Security
|
||||
provide a richer programming model versus using raw WebSockets. The same point can be
|
||||
|
|
|
|||
Loading…
Reference in New Issue