Commit 09e85806 authored by Phillip Webb's avatar Phillip Webb

Align docs package structure with heading IDs

See gh-6313
parent 2c770217
......@@ -52,5 +52,5 @@ For Tomcat, the following configuration can be added:
[source,java,indent=0]
----
include::{include-productionreadyfeatures}/cloudfoundry/CloudFoundryCustomContextPathConfiguration.java[tag=*]
include::{docs-java}/actuator/cloudfoundry/customcontextpath/CloudFoundryCustomContextPathConfiguration.java[tag=*]
----
......@@ -437,7 +437,7 @@ The following example exposes a read operation that returns a custom object:
[source,java,indent=0]
----
include::{include-productionreadyfeatures}/endpoints/CustomEndpoint.java[tag=read]
include::{docs-java}/actuator/endpoints/implementingcustom/CustomEndpoint.java[tag=read]
----
You can also write technology-specific endpoints by using `@JmxEndpoint` or `@WebEndpoint`.
......@@ -474,7 +474,7 @@ This can be used to invoke a write operation that takes `String name` and `int c
[source,java,indent=0]
----
include::{include-productionreadyfeatures}/endpoints/CustomEndpoint.java[tag=write]
include::{docs-java}/actuator/endpoints/implementingcustom/CustomEndpoint.java[tag=write]
----
TIP: Because endpoints are technology agnostic, only simple types can be specified in the method signature.
......
......@@ -898,7 +898,7 @@ To replace the default metric tags, define a `MongoCommandTagsProvider` bean, as
[source,java,indent=0]
----
include::{include-productionreadyfeatures}/metrics/mongo/SampleCommandTagsProviderConfiguration.java[]
include::{docs-java}/actuator/metrics/supported/mongodb/command/SampleCommandTagsProviderConfiguration.java[]
----
To disable the auto-configured command metrics, set the following property:
......@@ -939,7 +939,7 @@ To replace the default metric tags, define a `MongoConnectionPoolTagsProvider` b
[source,java,indent=0]
----
include::{include-productionreadyfeatures}/metrics/mongo/SampleConnectionPoolTagsProviderConfiguration.java[tag=*]
include::{docs-java}/actuator/metrics/supported/mongodb/connectionpool/SampleConnectionPoolTagsProviderConfiguration.java[tag=*]
----
To disable the auto-configured connection pool metrics, set the following property:
......@@ -1024,14 +1024,14 @@ To register custom metrics, inject `MeterRegistry` into your component, as shown
[source,java,indent=0]
----
include::{include-productionreadyfeatures}/metrics/MetricsMeterRegistryInjection.java[tag=*]
include::{docs-java}/actuator/metrics/registeringcustom/MetricsMeterRegistryInjection.java[tag=*]
----
If your metrics depend on other beans, it is recommended that you use a `MeterBinder` to register them, as shown in the following example:
[source,java,indent=0]
----
include::{include-productionreadyfeatures}/metrics/SampleMeterBinderConfiguration.java[tag=*]
include::{docs-java}/actuator/metrics/registeringcustom/SampleMeterBinderConfiguration.java[tag=*]
----
Using a `MeterBinder` ensures that the correct dependency relationships are set up and that the bean is available when the metric's value is retrieved.
......@@ -1049,7 +1049,7 @@ For example, if you want to rename the `mytag.region` tag to `mytag.area` for al
[source,java,indent=0]
----
include::{include-productionreadyfeatures}/metrics/MetricsFilterConfiguration.java[tag=*]
include::{docs-java}/actuator/metrics/customizing/MetricsFilterConfiguration.java[tag=*]
----
NOTE: By default, all `MeterFilter` beans will be automatically bound to the Spring-managed `MeterRegistry`.
......
......@@ -525,7 +525,7 @@ features.external-config.typesafe-configuration-properties.using-annotated-types
# 4 ==== Third-party Configuration
boot-features-external-config-3rd-party-configuration=\
features.external-config.typesafe-configuration-properties.3rd-party-configuration
features.external-config.typesafe-configuration-properties.third-party-configuration
# 4 ==== Relaxed Binding
boot-features-external-config-relaxed-binding=\
......
......@@ -17,10 +17,7 @@
:github-raw: https://raw.githubusercontent.com/{github-repo}/{github-tag}
:github-issues: https://github.com/{github-repo}/issues/
:github-wiki: https://github.com/{github-repo}/wiki
:include: ../../main/java/org/springframework/boot/docs
:include-springbootfeatures: {include}/springbootfeatures
:include-productionreadyfeatures: {include}/productionreadyfeatures
:include-howto: {include}/howto
:docs-java: ../../main/java/org/springframework/boot/docs
:spring-boot-code: https://github.com/{github-repo}/tree/{github-tag}
:spring-boot-api: https://docs.spring.io/spring-boot/docs/{spring-boot-version}/api
:spring-boot-docs: https://docs.spring.io/spring-boot/docs/{spring-boot-version}/reference
......
......@@ -11,7 +11,7 @@ In a nutshell, to add caching to an operation of your service add the relevant a
[source,java,indent=0]
----
include::{include-springbootfeatures}/caching/MathService.java[]
include::{docs-java}/features/caching/MathService.java[]
----
This example demonstrates the use of caching on a potentially costly operation.
......@@ -61,7 +61,7 @@ The following example sets a flag to say that `null` values should be passed dow
[source,java,indent=0]
----
include::{include-springbootfeatures}/caching/CacheManagerCustomizerConfiguration.java[]
include::{docs-java}/features/caching/provider/CacheManagerCustomizerConfiguration.java[]
----
NOTE: In the preceding example, an auto-configured `ConcurrentMapCacheManager` is expected.
......@@ -177,7 +177,7 @@ The following example shows a customizer that configures a specific entry expira
[source,java,indent=0]
----
include::{include-springbootfeatures}/nosql/CouchbaseCacheManagerConfiguration.java[]
include::{docs-java}/features/caching/provider/couchbase/CouchbaseCacheManagerConfiguration.java[]
----
......@@ -208,7 +208,7 @@ The following example shows a customizer that configures a specific time to live
[source,java,indent=0]
----
include::{include-springbootfeatures}/nosql/RedisCacheManagerConfiguration.java[]
include::{docs-java}/features/caching/provider/redis/RedisCacheManagerConfiguration.java[]
----
......
......@@ -78,7 +78,7 @@ To handle this scenario, a separate `@Configuration` class can be used to isolat
[source,java,indent=0]
----
include::{include-springbootfeatures}/creatingautoconfiguration/classconditions/MyAutoConfiguration.java[]
include::{docs-java}/features/developingautoconfiguration/conditionannotations/classconditions/MyAutoConfiguration.java[]
----
TIP: If you use `@ConditionalOnClass` or `@ConditionalOnMissingClass` as a part of a meta-annotation to compose your own composed annotations, you must use `name` as referring to the class in such a case is not handled.
......@@ -95,7 +95,7 @@ When placed on a `@Bean` method, the target type defaults to the return type of
[source,java,indent=0]
----
include::{include-springbootfeatures}/creatingautoconfiguration/beanconditions/MyAutoConfiguration.java[]
include::{docs-java}/features/developingautoconfiguration/conditionannotations/beanconditions/MyAutoConfiguration.java[]
----
In the preceding example, the `myService` bean is going to be created if no bean of type `MyService` is already contained in the `ApplicationContext`.
......@@ -156,7 +156,7 @@ The following example makes sure that `UserServiceAutoConfiguration` is always i
[source,java,indent=0]
----
include::{include-springbootfeatures}/testing/UserServiceAutoConfigurationTests.java[tag=runner]
include::{docs-java}/features/developingautoconfiguration/testing/UserServiceAutoConfigurationTests.java[tag=runner]
----
TIP: If multiple auto-configurations have to be defined, there is no need to order their declarations as they are invoked in the exact same order as when running the application.
......@@ -167,14 +167,14 @@ Invoking `run` provides a callback context that can be used with `AssertJ`.
[source,java,indent=0]
----
include::{include-springbootfeatures}/testing/UserServiceAutoConfigurationTests.java[tag=test-user-config]
include::{docs-java}/features/developingautoconfiguration/testing/UserServiceAutoConfigurationTests.java[tag=test-user-config]
----
It is also possible to easily customize the `Environment`, as shown in the following example:
[source,java,indent=0]
----
include::{include-springbootfeatures}/testing/UserServiceAutoConfigurationTests.java[tag=test-env]
include::{docs-java}/features/developingautoconfiguration/testing/UserServiceAutoConfigurationTests.java[tag=test-env]
----
The runner can also be used to display the `ConditionEvaluationReport`.
......@@ -183,7 +183,7 @@ The following example shows how to use the `ConditionEvaluationReportLoggingList
[source,java,indent=0]
----
include::{include-springbootfeatures}/testing/ConditionEvaluationReportTests.java[tag=*]
include::{docs-java}/features/developingautoconfiguration/testing/ConditionEvaluationReportTests.java[tag=*]
----
......@@ -202,7 +202,7 @@ In the following example, we assert that if `UserService` is not present, the au
[source,java,indent=0]
----
include::{include-springbootfeatures}/testing/UserServiceAutoConfigurationTests.java[tag=test-classloader]
include::{docs-java}/features/developingautoconfiguration/testing/UserServiceAutoConfigurationTests.java[tag=test-classloader]
----
......@@ -251,7 +251,7 @@ Make sure that configuration keys are documented by adding field javadoc for eac
[source,java,indent=0]
----
include::{include-springbootfeatures}/creatingautoconfiguration/configurationkeys/AcmeProperties.java[]
include::{docs-java}/features/developingautoconfiguration/customstarter/configurationkeys/AcmeProperties.java[]
----
NOTE: You should only use plain text with `@ConfigurationProperties` field Javadoc, since they are not processed before being added to the JSON.
......
......@@ -19,7 +19,7 @@ The following code shows a typical `@RestController` that serves JSON data:
[source,java,indent=0]
----
include::{include-springbootfeatures}/webapplications/servlet/MyRestController.java[]
include::{docs-java}/features/developingwebapplications/springmvc/MyRestController.java[]
----
Spring MVC is part of the core Spring Framework, and detailed information is available in the {spring-framework-docs}/web.html#mvc[reference documentation].
......@@ -69,7 +69,7 @@ If you need to add or customize converters, you can use Spring Boot's `HttpMessa
[source,java,indent=0]
----
include::{include-springbootfeatures}/webapplications/HttpMessageConvertersConfiguration.java[]
include::{docs-java}/features/developingwebapplications/springmvc/messageconverters/HttpMessageConvertersConfiguration.java[]
----
Any `HttpMessageConverter` bean that is present in the context is added to the list of converters.
......@@ -87,7 +87,7 @@ You can also use it on classes that contain serializers/deserializers as inner c
[source,java,indent=0]
----
include::{include-springbootfeatures}/webapplications/json/MyJsonComponent.java[]
include::{docs-java}/features/developingwebapplications/springmvc/json/MyJsonComponent.java[]
----
All `@JsonComponent` beans in the `ApplicationContext` are automatically registered with Jackson.
......@@ -100,7 +100,7 @@ The example above can be rewritten to use `JsonObjectSerializer`/`JsonObjectDese
[source,java,indent=0]
----
include::{include-springbootfeatures}/webapplications/json/object/MyJsonComponent.java[]
include::{docs-java}/features/developingwebapplications/springmvc/json/object/MyJsonComponent.java[]
----
......@@ -349,7 +349,7 @@ You can also define a class annotated with `@ControllerAdvice` to customize the
[source,java,indent=0,subs="verbatim,quotes,attributes"]
----
include::{include-springbootfeatures}/webapplications/servlet/MyControllerAdvice.java[]
include::{docs-java}/features/developingwebapplications/springmvc/errorhandling/MyControllerAdvice.java[]
----
In the preceding example, if `YourException` is thrown by a controller defined in the same package as `AcmeController`, a JSON representation of the `CustomErrorType` POJO is used instead of the `ErrorAttributes` representation.
......@@ -359,7 +359,7 @@ Applications can ensure that such exceptions are recorded with the request metri
[source,java,indent=0,subs="verbatim,quotes,attributes"]
----
include::{include-springbootfeatures}/webapplications/servlet/MyController.java[]
include::{docs-java}/features/developingwebapplications/springmvc/errorhandling/MyController.java[]
----
......@@ -404,7 +404,7 @@ For more complex mappings, you can also add beans that implement the `ErrorViewR
[source,java,indent=0,subs="verbatim,quotes,attributes"]
----
include::{include-springbootfeatures}/webapplications/servlet/MyErrorViewResolver.java[]
include::{docs-java}/features/developingwebapplications/springmvc/errorhandling/errorpages/MyErrorViewResolver.java[]
----
You can also use regular Spring MVC features such as {spring-framework-docs}/web.html#mvc-exceptionhandlers[`@ExceptionHandler` methods] and {spring-framework-docs}/web.html#mvc-ann-controller-advice[`@ControllerAdvice`].
......@@ -419,14 +419,14 @@ This abstraction works directly with the underlying embedded servlet container a
[source,java,indent=0,subs="verbatim,quotes,attributes"]
----
include::{include-springbootfeatures}/webapplications/servlet/ErrorPageConfiguration.java[]
include::{docs-java}/features/developingwebapplications/springmvc/errorhandling/errorpageswithoutspringmvc/ErrorPageConfiguration.java[]
----
NOTE: If you register an `ErrorPage` with a path that ends up being handled by a `Filter` (as is common with some non-Spring web frameworks, like Jersey and Wicket), then the `Filter` has to be explicitly registered as an `ERROR` dispatcher, as shown in the following example:
[source,java,indent=0,subs="verbatim,quotes,attributes"]
----
include::{include-springbootfeatures}/webapplications/servlet/ServletFilterConfiguration.java[]
include::{docs-java}/features/developingwebapplications/springmvc/errorhandling/errorpageswithoutspringmvc/ServletFilterConfiguration.java[]
----
Note that the default `FilterRegistrationBean` does not include the `ERROR` dispatcher type.
......@@ -469,7 +469,7 @@ Using {spring-framework-docs}/web.html#mvc-cors-controller[controller method COR
[source,java,indent=0]
----
include::{include-springbootfeatures}/webapplications/servlet/CorsConfiguration.java[]
include::{docs-java}/features/developingwebapplications/springmvc/cors/CorsConfiguration.java[]
----
......@@ -484,19 +484,19 @@ The annotation-based one is quite close to the Spring MVC model, as shown in the
[source,java,indent=0]
----
include::{include-springbootfeatures}/webapplications/webflux/MyRestController.java[]
include::{docs-java}/features/developingwebapplications/springwebflux/MyRestController.java[]
----
"`WebFlux.fn`", the functional variant, separates the routing configuration from the actual handling of the requests, as shown in the following example:
[source,java,indent=0]
----
include::{include-springbootfeatures}/webapplications/webflux/fn/RoutingConfiguration.java[]
include::{docs-java}/features/developingwebapplications/springwebflux/RoutingConfiguration.java[]
----
[source,java,indent=0]
----
include::{include-springbootfeatures}/webapplications/webflux/fn/UserHandler.java[]
include::{docs-java}/features/developingwebapplications/springwebflux/UserHandler.java[]
----
WebFlux is part of the Spring Framework and detailed information is available in its {spring-framework-docs}/web-reactive.html#webflux-fn[reference documentation].
......@@ -540,7 +540,7 @@ If you need to add or customize codecs, you can create a custom `CodecCustomizer
[source,java,indent=0]
----
include::{include-springbootfeatures}/webapplications/webflux/CodecConfiguration.java[]
include::{docs-java}/features/developingwebapplications/springwebflux/httpcodecs/CodecConfiguration.java[]
----
You can also leverage <<features#features.developing-web-applications.spring-mvc.json,Boot's custom JSON serializers and deserializers>>.
......@@ -614,7 +614,7 @@ Because a `WebExceptionHandler` is quite low-level, Spring Boot also provides a
[source,java,indent=0,subs="verbatim,quotes,attributes"]
----
include::{include-springbootfeatures}/webapplications/webflux/CustomErrorWebExceptionHandler.java[]
include::{docs-java}/features/developingwebapplications/springwebflux/errorhandling/CustomErrorWebExceptionHandler.java[]
----
For a more complete picture, you can also subclass `DefaultErrorWebExceptionHandler` directly and override specific methods.
......@@ -624,7 +624,7 @@ Applications can ensure that such exceptions are recorded with the request metri
[source,java,indent=0,subs="verbatim,quotes,attributes"]
----
include::{include-springbootfeatures}/webapplications/webflux/ExceptionHandlingController.java[]
include::{docs-java}/features/developingwebapplications/springwebflux/errorhandling/ExceptionHandlingController.java[]
----
......@@ -702,7 +702,7 @@ To get started with Jersey, include the `spring-boot-starter-jersey` as a depend
[source,java,indent=0,subs="verbatim,quotes,attributes"]
----
include::{include-springbootfeatures}/webapplications/jersey/JerseyConfig.java[]
include::{docs-java}/features/developingwebapplications/jersey/JerseyConfig.java[]
----
WARNING: Jersey's support for scanning executable archives is rather limited.
......@@ -715,7 +715,7 @@ All the registered endpoints should be `@Components` with HTTP resource annotati
[source,java,indent=0,subs="verbatim,quotes,attributes"]
----
include::{include-springbootfeatures}/webapplications/jersey/Endpoint.java[]
include::{docs-java}/features/developingwebapplications/jersey/Endpoint.java[]
----
Since the `Endpoint` is a Spring `@Component`, its lifecycle is managed by Spring and you can use the `@Autowired` annotation to inject dependencies and use the `@Value` annotation to inject external configuration.
......@@ -829,7 +829,7 @@ The following example shows programmatically setting the port:
[source,java,indent=0]
----
include::{include-springbootfeatures}/webapplications/embeddedservletcontainer/CustomizationBean.java[]
include::{docs-java}/features/developingwebapplications/embeddedcontainer/customizing/programmatic/CustomizationBean.java[]
----
`TomcatServletWebServerFactory`, `JettyServletWebServerFactory` and `UndertowServletWebServerFactory` are dedicated variants of `ConfigurableServletWebServerFactory` that have additional customization setter methods for Tomcat, Jetty and Undertow respectively.
......@@ -837,7 +837,7 @@ The following example shows how to customize `TomcatServletWebServerFactory` tha
[source,java,indent=0,subs="verbatim,quotes,attributes"]
----
include::{include-springbootfeatures}/webapplications/embeddedservletcontainer/TomcatServerCustomizer.java[]
include::{docs-java}/features/developingwebapplications/embeddedcontainer/customizing/programmatic/TomcatServerCustomizer.java[]
----
......
......@@ -40,7 +40,7 @@ To provide a concrete example, suppose you develop a `@Component` that uses a `n
[source,java,indent=0]
----
include::{include-springbootfeatures}/externalizedconfiguration/valueinjection/MyBean.java[]
include::{docs-java}/features/externalconfig/MyBean.java[]
----
On your application classpath (for example, inside your jar) you can have an `application.properties` file that provides a sensible default property value for `name`.
......@@ -616,7 +616,7 @@ It is possible to bind a bean declaring standard JavaBean properties as shown in
[source,java,indent=0]
----
include::{include-springbootfeatures}/externalizedconfiguration/javabeanbinding/AcmeProperties.java[]
include::{docs-java}/features/externalconfig/typesafeconfigurationproperties/javabeanbinding/AcmeProperties.java[]
----
The preceding POJO defines the following properties:
......@@ -657,7 +657,7 @@ The example in the previous section can be rewritten in an immutable fashion as
[source,java,indent=0]
----
include::{include-springbootfeatures}/externalizedconfiguration/constructorbinding/AcmeProperties.java[]
include::{docs-java}/features/externalconfig/typesafeconfigurationproperties/constructorbinding/AcmeProperties.java[]
----
In this setup, the `@ConstructorBinding` annotation is used to indicate that constructor binding should be used.
......@@ -671,7 +671,7 @@ If you wish you return a non-null instance of `Security` even when no properties
[source,java,indent=0]
----
include::{include-springbootfeatures}/externalizedconfiguration/constructorbinding/nonnull/AcmeProperties.java[tag=*]
include::{docs-java}/features/externalconfig/typesafeconfigurationproperties/constructorbinding/nonnull/AcmeProperties.java[]
----
......@@ -697,7 +697,7 @@ This can be done on any `@Configuration` class, as shown in the following exampl
[source,java,indent=0]
----
include::{include-springbootfeatures}/externalizedconfiguration/enable/MyConfiguration.java[]
include::{docs-java}/features/externalconfig/typesafeconfigurationproperties/enablingannotatedtypes/MyConfiguration.java[]
----
To use configuration property scanning, add the `@ConfigurationPropertiesScan` annotation to your application.
......@@ -707,7 +707,7 @@ If you want to define specific packages to scan, you can do so as shown in the f
[source,java,indent=0]
----
include::{include-springbootfeatures}/externalizedconfiguration/enable/MyApplication.java[]
include::{docs-java}/features/externalconfig/typesafeconfigurationproperties/enablingannotatedtypes/MyApplication.java[]
----
[NOTE]
......@@ -743,7 +743,7 @@ To work with `@ConfigurationProperties` beans, you can inject them in the same w
[source,java,indent=0]
----
include::{include-springbootfeatures}/externalizedconfiguration/use/MyService.java[]
include::{docs-java}/features/externalconfig/typesafeconfigurationproperties/usingannotatedtypes/MyService.java[]
----
TIP: Using `@ConfigurationProperties` also lets you generate metadata files that can be used by IDEs to offer auto-completion for your own keys.
......@@ -751,7 +751,7 @@ See the <<configuration-metadata#configuration-metadata,appendix>> for details.
[[features.external-config.typesafe-configuration-properties.3rd-party-configuration]]
[[features.external-config.typesafe-configuration-properties.third-party-configuration]]
==== Third-party Configuration
As well as using `@ConfigurationProperties` to annotate a class, you can also use it on public `@Bean` methods.
Doing so can be particularly useful when you want to bind properties to third-party components that are outside of your control.
......@@ -760,7 +760,7 @@ To configure a bean from the `Environment` properties, add `@ConfigurationProper
[source,java,indent=0]
----
include::{include-springbootfeatures}/externalizedconfiguration/ThirdPartyConfiguration.java[]
include::{docs-java}/features/externalconfig/typesafeconfigurationproperties/thirdpartyconfiguration/ThirdPartyConfiguration.java[]
----
Any JavaBean property defined with the `another` prefix is mapped onto that `AnotherComponent` bean in manner similar to the preceding `AcmeProperties` example.
......@@ -776,7 +776,7 @@ As an example, consider the following `@ConfigurationProperties` class:
[source,java,indent=0]
----
include::{include-springbootfeatures}/externalizedconfiguration/relaxed/OwnerProperties.java[]
include::{docs-java}/features/externalconfig/typesafeconfigurationproperties/relaxedbinding/OwnerProperties.java[]
----
With the preceding code, the following properties names can all be used:
......@@ -895,7 +895,7 @@ The following example exposes a list of `MyPojo` objects from `AcmeProperties`:
[source,java,indent=0]
----
include::{include-springbootfeatures}/externalizedconfiguration/merge/list/AcmeProperties.java[tag=*]
include::{docs-java}/features/externalconfig/typesafeconfigurationproperties/mergingcomplextypes/list/AcmeProperties.java[tag=*]
----
Consider the following configuration:
......@@ -950,7 +950,7 @@ The following example exposes a `Map<String, MyPojo>` from `AcmeProperties`:
[source,java,indent=0]
----
include::{include-springbootfeatures}/externalizedconfiguration/merge/map/AcmeProperties.java[tag=*]
include::{docs-java}/features/externalconfig/typesafeconfigurationproperties/mergingcomplextypes/map/AcmeProperties.java[tag=*]
----
Consider the following configuration:
......@@ -1007,7 +1007,7 @@ Consider the following example:
[source,java,indent=0]
----
include::{include-springbootfeatures}/externalizedconfiguration/duration/javabeanbinding/AppSystemProperties.java[]
include::{docs-java}/features/externalconfig/typesafeconfigurationproperties/conversion/durations/javabeanbinding/AppSystemProperties.java[]
----
To specify a session timeout of 30 seconds, `30`, `PT30S` and `30s` are all equivalent.
......@@ -1030,7 +1030,7 @@ If you prefer to use constructor binding, the same properties can be exposed, as
[source,java,indent=0]
----
include::{include-springbootfeatures}/externalizedconfiguration/duration/constructorbinding/AppSystemProperties.java[]
include::{docs-java}/features/externalconfig/typesafeconfigurationproperties/conversion/durations/constructorbinding/AppSystemProperties.java[]
----
......@@ -1071,7 +1071,7 @@ Consider the following example:
[source,java,indent=0]
----
include::{include-springbootfeatures}/externalizedconfiguration/datasize/javabeanbinding/AppIoProperties.java[]
include::{docs-java}/features/externalconfig/typesafeconfigurationproperties/conversion/datasizes/javabeanbinding/AppIoProperties.java[]
----
To specify a buffer size of 10 megabytes, `10` and `10MB` are equivalent.
......@@ -1092,7 +1092,7 @@ If you prefer to use constructor binding, the same properties can be exposed, as
[source,java,indent=0]
----
include::{include-springbootfeatures}/externalizedconfiguration/datasize/constructorbinding/AppIoProperties.java[]
include::{docs-java}/features/externalconfig/typesafeconfigurationproperties/conversion/datasizes/constructorbinding/AppIoProperties.java[]
----
TIP: If you are upgrading a `Long` property, make sure to define the unit (using `@DataSizeUnit`) if it isn't bytes.
......@@ -1108,7 +1108,7 @@ To do so, ensure that a compliant JSR-303 implementation is on your classpath an
[source,java,indent=0]
----
include::{include-springbootfeatures}/externalizedconfiguration/validate/AcmeProperties.java[]
include::{docs-java}/features/externalconfig/typesafeconfigurationproperties/validate/AcmeProperties.java[]
----
TIP: You can also trigger validation by annotating the `@Bean` method that creates the configuration properties with `@Validated`.
......@@ -1118,7 +1118,7 @@ The following example builds on the preceding `AcmeProperties` example:
[source,java,indent=0]
----
include::{include-springbootfeatures}/externalizedconfiguration/validate/nested/AcmeProperties.java[]
include::{docs-java}/features/externalconfig/typesafeconfigurationproperties/validate/nested/AcmeProperties.java[]
----
You can also add a custom Spring `Validator` by creating a bean definition called `configurationPropertiesValidator`.
......
......@@ -43,7 +43,7 @@ You can inject into your bean without needing to use any `@Qualifier`:
[source,java,indent=0]
----
include::{include-springbootfeatures}/jta/primary/MyBean.java[tag=*]
include::{docs-java}/features/jta/mixingxaandnonxaconnections/primary/MyBean.java[tag=*]
----
In some situations, you might want to process certain JMS messages by using a non-XA `ConnectionFactory`.
......@@ -53,14 +53,14 @@ If you want to use a non-XA `ConnectionFactory`, you can the `nonXaJmsConnection
[source,java,indent=0]
----
include::{include-springbootfeatures}/jta/nonxa/MyBean.java[tag=*]
include::{docs-java}/features/jta/mixingxaandnonxaconnections/nonxa/MyBean.java[tag=*]
----
For consistency, the `jmsConnectionFactory` bean is also provided by using the bean alias `xaJmsConnectionFactory`:
[source,java,indent=0]
----
include::{include-springbootfeatures}/jta/xa/MyBean.java[tag=*]
include::{docs-java}/features/jta/mixingxaandnonxaconnections/xa/MyBean.java[tag=*]
----
......
......@@ -138,7 +138,7 @@ Spring's `JmsTemplate` is auto-configured, and you can autowire it directly into
[source,java,indent=0]
----
include::{include-springbootfeatures}/messaging/jms/template/MyBean.java[]
include::{docs-java}/features/messaging/jms/sending/MyBean.java[]
----
NOTE: {spring-framework-api}/jms/core/JmsMessagingTemplate.html[`JmsMessagingTemplate`] can be injected in a similar manner.
......@@ -163,7 +163,7 @@ The following component creates a listener endpoint on the `someQueue` destinati
[source,java,indent=0]
----
include::{include-springbootfeatures}/messaging/jms/receiving/MyBean.java[]
include::{docs-java}/features/messaging/jms/receiving/MyBean.java[]
----
TIP: See {spring-framework-api}/jms/annotation/EnableJms.html[the Javadoc of `@EnableJms`] for more details.
......@@ -174,14 +174,14 @@ For instance, the following example exposes another factory that uses a specific
[source,java,indent=0]
----
include::{include-springbootfeatures}/messaging/jms/receiving/custom/JmsConfiguration.java[]
include::{docs-java}/features/messaging/jms/receiving/custom/JmsConfiguration.java[]
----
Then you can use the factory in any `@JmsListener`-annotated method as follows:
[source,java,indent=0]
----
include::{include-springbootfeatures}/messaging/jms/receiving/custom/MyBean.java[]
include::{docs-java}/features/messaging/jms/receiving/custom/MyBean.java[]
----
......@@ -239,7 +239,7 @@ Spring's `AmqpTemplate` and `AmqpAdmin` are auto-configured, and you can autowir
[source,java,indent=0]
----
include::{include-springbootfeatures}/messaging/amqp/sending/MyBean.java[]
include::{docs-java}/features/messaging/amqp/sending/MyBean.java[]
----
NOTE: {spring-amqp-api}/rabbit/core/RabbitMessagingTemplate.html[`RabbitMessagingTemplate`] can be injected in a similar manner.
......@@ -276,7 +276,7 @@ The following sample component creates a listener endpoint on the `someQueue` qu
[source,java,indent=0]
----
include::{include-springbootfeatures}/messaging/amqp/receiving/MyBean.java[]
include::{docs-java}/features/messaging/amqp/receiving/MyBean.java[]
----
TIP: See {spring-amqp-api}/rabbit/annotation/EnableRabbit.html[the Javadoc of `@EnableRabbit`] for more details.
......@@ -290,14 +290,14 @@ For instance, the following configuration class exposes another factory that use
[source,java,indent=0]
----
include::{include-springbootfeatures}/messaging/amqp/receiving/custom/RabbitConfiguration.java[]
include::{docs-java}/features/messaging/amqp/receiving/custom/RabbitConfiguration.java[]
----
Then you can use the factory in any `@RabbitListener`-annotated method, as follows:
[source,java,indent=0]
----
include::{include-springbootfeatures}/messaging/amqp/receiving/custom/MyBean.java[]
include::{docs-java}/features/messaging/amqp/receiving/custom/MyBean.java[]
----
You can enable retries to handle situations where your listener throws an exception.
......@@ -341,7 +341,7 @@ Spring's `KafkaTemplate` is auto-configured, and you can autowire it directly in
[source,java,indent=0]
----
include::{include-springbootfeatures}/messaging/kafka/sending/MyBean.java[]
include::{docs-java}/features/messaging/kafka/sending/MyBean.java[]
----
NOTE: If the property configprop:spring.kafka.producer.transaction-id-prefix[] is defined, a `KafkaTransactionManager` is automatically configured.
......@@ -358,7 +358,7 @@ The following component creates a listener endpoint on the `someTopic` topic:
[source,java,indent=0]
----
include::{include-springbootfeatures}/messaging/kafka/receiving/MyBean.java[]
include::{docs-java}/features/messaging/kafka/receiving/MyBean.java[]
----
If a `KafkaTransactionManager` bean is defined, it is automatically associated to the container factory.
......@@ -387,7 +387,7 @@ To use the factory bean, wire `StreamsBuilder` into your `@Bean` as shown in the
[source,java,indent=0]
----
include::{include-springbootfeatures}/messaging/KafkaStreamsConfiguration.java[]
include::{docs-java}/features/messaging/kafka/streams/KafkaStreamsConfiguration.java[]
----
By default, the streams managed by the `StreamBuilder` object it creates are started automatically.
......@@ -472,14 +472,14 @@ There are several ways to do that:
[source,java,indent=0]
----
include::{include-springbootfeatures}/messaging/kafka/test/property/MyTest.java[tag=*]
include::{docs-java}/features/messaging/kafka/embedded/property/MyTest.java[tag=*]
----
* Configure a property name on the `@EmbeddedKafka` annotation:
[source,java,indent=0]
----
include::{include-springbootfeatures}/messaging/kafka/test/annotation/MyTest.java[]
include::{docs-java}/features/messaging/kafka/embedded/annotation/MyTest.java[]
----
* Use a placeholder in configuration properties:
......
......@@ -38,7 +38,7 @@ The following listing shows an example of such a bean:
[source,java,indent=0]
----
include::{include-springbootfeatures}/nosql/redis/MyBean.java[]
include::{docs-java}/features/nosql/redis/connecting/MyBean.java[]
----
TIP: You can also register an arbitrary number of beans that implement `LettuceClientConfigurationBuilderCustomizer` for more advanced customizations.
......@@ -64,7 +64,7 @@ The following example shows how to connect to a MongoDB database:
[source,java,indent=0]
----
include::{include-springbootfeatures}/nosql/mongodb/databasefactory/MyBean.java[]
include::{docs-java}/features/nosql/mongodb/connecting/MyBean.java[]
----
If you have defined your own `MongoClient`, it will be used to auto-configure a suitable `MongoDatabaseFactory`.
......@@ -115,14 +115,13 @@ As with `JdbcTemplate`, Spring Boot auto-configures a bean for you to inject the
[source,java,indent=0]
----
include::{include-springbootfeatures}/nosql/mongodb/template/MyBean.java[]
include::{docs-java}/features/nosql/mongodb/template/MyBean.java[]
----
See the {spring-data-mongodb-api}/core/MongoOperations.html[`MongoOperations` Javadoc] for complete details.
[[features.nosql.mongodb.repositories]]
[[features.nosql.mongodb.repositories]]
==== Spring Data MongoDB Repositories
Spring Data includes repository support for MongoDB.
......@@ -133,7 +132,7 @@ You could take the JPA example from earlier and, assuming that `City` is now a M
[source,java,indent=0]
----
include::{include-springbootfeatures}/nosql/mongodb/data/CityRepository.java[]
include::{docs-java}/features/nosql/mongodb/repositories/CityRepository.java[]
----
TIP: You can customize document scanning locations by using the `@EntityScan` annotation.
......@@ -175,7 +174,7 @@ The following example shows how to inject a Neo4j `Driver` that gives you access
[source,java,indent=0]
----
include::{include-springbootfeatures}/nosql/neo4j/driver/MyBean.java[]
include::{docs-java}/features/nosql/neo4j/connecting/MyBean.java[]
----
You can configure various aspects of the driver using `spring.neo4j.*` properties.
......@@ -207,7 +206,7 @@ You could take the JPA example from earlier and define `City` as Spring Data Neo
[source,java,indent=0]
----
include::{include-springbootfeatures}/nosql/neo4j/data/CityRepository.java[]
include::{docs-java}/features/nosql/neo4j/repositories/CityRepository.java[]
----
The `spring-boot-starter-data-neo4j` "`Starter`" enables the repository support as well as transaction management.
......@@ -223,7 +222,7 @@ To enable transaction management, the following bean must be defined in your con
[source,java,indent=0]
----
include::{include-springbootfeatures}/nosql/Neo4jReactiveTransactionManagerConfiguration.java[]
include::{docs-java}/features/nosql/neo4j/repositories/Neo4jReactiveTransactionManagerConfiguration.java[]
----
====
......@@ -244,7 +243,7 @@ The following example shows how to inject a Solr bean:
[source,java,indent=0]
----
include::{include-springbootfeatures}/nosql/solr/client/MyBean.java[]
include::{docs-java}/features/nosql/solr/connecting/MyBean.java[]
----
If you add your own `@Bean` of type `SolrClient`, it replaces the default.
......@@ -342,7 +341,7 @@ as shown in the following example:
[source,java,indent=0]
----
include::{include-springbootfeatures}/nosql/elasticsearch/template/MyBean.java[]
include::{docs-java}/features/nosql/elasticsearch/connectingusingspringdata/MyBean.java[]
----
In the presence of `spring-data-elasticsearch` and the required dependencies for using a `WebClient` (typically `spring-boot-starter-webflux`), Spring Boot can also auto-configure a <<features#features.nosql.elasticsearch.connecting-using-reactive-rest,ReactiveElasticsearchClient>> and a `ReactiveElasticsearchTemplate` as beans.
......@@ -435,7 +434,7 @@ The following code listing shows how to inject a Cassandra bean:
[source,java,indent=0]
----
include::{include-springbootfeatures}/nosql/cassandra/template/MyBean.java[]
include::{docs-java}/features/nosql/cassandra/connecting/MyBean.java[]
----
If you add your own `@Bean` of type `CassandraTemplate`, it replaces the default.
......@@ -514,7 +513,7 @@ The following examples shows how to inject a `CouchbaseTemplate` bean:
[source,java,indent=0]
----
include::{include-springbootfeatures}/nosql/couchbase/template/MyBean.java[]
include::{docs-java}/features/nosql/couchbase/repositories/MyBean.java[]
----
There are a few beans that you can define in your own configuration to override those provided by the auto-configuration:
......@@ -528,7 +527,7 @@ For instance, you can customize the converters to use, as follows:
[source,java,indent=0]
----
include::{include-springbootfeatures}/nosql/couchbase/CouchbaseConversionsConfiguration.java[]
include::{docs-java}/features/nosql/couchbase/repositories/CouchbaseConversionsConfiguration.java[]
----
......@@ -575,7 +574,7 @@ You can also inject an auto-configured `LdapTemplate` instance as you would with
[source,java,indent=0]
----
include::{include-springbootfeatures}/nosql/ldap/template/MyBean.java[]
include::{docs-java}/features/nosql/ldap/repositories/MyBean.java[]
----
......
......@@ -5,7 +5,7 @@ Any `@Component`, `@Configuration` or `@ConfigurationProperties` can be marked w
[source,java,indent=0]
----
include::{include-springbootfeatures}/profiles/ProductionConfiguration.java[]
include::{docs-java}/features/profiles/ProductionConfiguration.java[]
----
NOTE: If `@ConfigurationProperties` beans are registered via `@EnableConfigurationProperties` instead of automatic scanning, the `@Profile` annotation needs to be specified on the `@Configuration` class that has the `@EnableConfigurationProperties` annotation.
......
......@@ -52,5 +52,5 @@ Regular beans can also be injected in a similar manner, as shown in the followin
[source,java,indent=0]
----
include::{include-springbootfeatures}/quartz/SampleJob.java[]
include::{docs-java}/features/quartz/SampleJob.java[]
----
......@@ -9,7 +9,7 @@ The following code shows a typical example:
[source,java,indent=0]
----
include::{include-springbootfeatures}/resttemplate/MyService.java[]
include::{docs-java}/features/resttemplate/MyService.java[]
----
TIP: `RestTemplateBuilder` includes a number of useful methods that can be used to quickly configure a `RestTemplate`.
......@@ -31,7 +31,7 @@ The following example shows a customizer that configures the use of a proxy for
[source,java,indent=0]
----
include::{include-springbootfeatures}/resttemplate/RestTemplateProxyCustomizer.java[]
include::{docs-java}/features/resttemplate/customization/RestTemplateProxyCustomizer.java[]
----
Finally, you can also create your own `RestTemplateBuilder` bean.
......@@ -40,7 +40,7 @@ The following example exposes a `RestTemplateBuilder` with what Spring Boot woul
[source,java,indent=0]
----
include::{include-springbootfeatures}/resttemplate/RestTemplateBuilderConfiguration.java[]
include::{docs-java}/features/resttemplate/customization/RestTemplateBuilderConfiguration.java[]
----
The most extreme (and rarely used) option is to create your own `RestTemplateBuilder` bean without using a configurer.
......
......@@ -82,5 +82,5 @@ The following code shows a typical example:
[source,java,indent=0]
----
include::{include-springbootfeatures}/rsocket/MyService.java[]
include::{docs-java}/features/rsocket//requester/MyService.java[]
----
......@@ -62,7 +62,7 @@ For example, you can customize your security configuration by adding something l
[source,java,indent=0]
----
include::{include-springbootfeatures}/security/CustomWebFluxSecurityConfiguration.java[]
include::{docs-java}/features/security/springwebflux/CustomWebFluxSecurityConfiguration.java[]
----
......@@ -141,7 +141,7 @@ For example, for servlet applications, you can add your own `SecurityFilterChain
[source,java,indent=0]
----
include::{include-springbootfeatures}/security/OAuthClientConfiguration.java[]
include::{docs-java}/features/security/oauth2/client/OAuthClientConfiguration.java[]
----
TIP: Spring Boot auto-configures an `InMemoryOAuth2AuthorizedClientService` which is used by Spring Security for the management of client registrations.
......
......@@ -5,7 +5,7 @@ In many situations, you can delegate to the static `SpringApplication.run` metho
[source,java,indent=0]
----
include::{include-springbootfeatures}/springapplication/main/run/MyApplication.java[]
include::{docs-java}/features/springapplication/MyApplication.java[]
----
When your application starts, you should see something similar to the following output:
......@@ -167,7 +167,7 @@ For example, to turn off the banner, you could write:
[source,java,indent=0]
----
include::{include-springbootfeatures}/springapplication/main/custom/MyApplication.java[]
include::{docs-java}/features/springapplication/customizingspringapplication/MyApplication.java[]
----
NOTE: The constructor arguments passed to `SpringApplication` are configuration sources for Spring beans.
......@@ -188,7 +188,7 @@ The `SpringApplicationBuilder` lets you chain together multiple method calls and
[source,java,indent=0]
----
include::{include-springbootfeatures}/springapplication/SpringApplicationBuilderExample.java[tag=*]
include::{docs-java}/features/springapplication/fluentbuilderapi/SpringApplicationBuilderExample.java[tag=*]
----
NOTE: There are some restrictions when creating an `ApplicationContext` hierarchy.
......@@ -242,14 +242,14 @@ For example, we can export the "Readiness" state of the application to a file so
[source,java,indent=0]
----
include::{include-springbootfeatures}/springapplication/availability/ReadinessStateExporter.java[]
include::{docs-java}/features/springapplication/applicationavailability/managing/ReadinessStateExporter.java[]
----
We can also update the state of the application, when the application breaks and cannot recover:
[source,java,indent=0]
----
include::{include-springbootfeatures}/springapplication/availability/LocalCacheVerifier.java[]
include::{docs-java}/features/springapplication/applicationavailability/managing/LocalCacheVerifier.java[]
----
Spring Boot provides <<actuator#actuator.endpoints.kubernetes-probes,Kubernetes HTTP probes for "Liveness" and "Readiness" with Actuator Health Endpoints>>.
......@@ -334,7 +334,7 @@ The `ApplicationArguments` interface provides access to both the raw `String[]`
[source,java,indent=0]
----
include::{include-springbootfeatures}/springapplication/ApplicationArgumentsExample.java[]
include::{docs-java}/features/springapplication/applicationarguments/ApplicationArgumentsExample.java[]
----
TIP: Spring Boot also registers a `CommandLinePropertySource` with the Spring `Environment`.
......@@ -355,7 +355,7 @@ The following example shows a `CommandLineRunner` with a `run` method:
[source,java,indent=0]
----
include::{include-springbootfeatures}/springapplication/CommandLineRunnerExample.java[]
include::{docs-java}/features/springapplication/commandlinerunner/CommandLineRunnerExample.java[]
----
If several `CommandLineRunner` or `ApplicationRunner` beans are defined that must be called in a specific order, you can additionally implement the `org.springframework.core.Ordered` interface or use the `org.springframework.core.annotation.Order` annotation.
......@@ -372,7 +372,7 @@ This exit code can then be passed to `System.exit()` to return it as a status co
[source,java,indent=0]
----
include::{include-springbootfeatures}/springapplication/exitcode/MyApplication.java[]
include::{docs-java}/features/springapplication/applicationexit/MyApplication.java[]
----
Also, the `ExitCodeGenerator` interface may be implemented by exceptions.
......@@ -403,7 +403,7 @@ For example, to use the `BufferingApplicationStartup`, you could write:
[source,java,indent=0]
----
include::{include-springbootfeatures}/springapplication/startup/MyApplication.java[tag=*]
include::{docs-java}/features/springapplication/startuptracking/MyApplication.java[tag=*]
----
The first available implementation, `FlightRecorderApplicationStartup` is provided by Spring Framework.
......
......@@ -160,7 +160,7 @@ Spring's `JdbcTemplate` and `NamedParameterJdbcTemplate` classes are auto-config
[source,java,indent=0]
----
include::{include-springbootfeatures}/sql/jdbctemplate/MyBean.java[]
include::{docs-java}/features/sql/jdbctemplate/MyBean.java[]
----
You can customize some properties of the template by using the `spring.jdbc.template.*` properties, as shown in the following example:
......@@ -204,7 +204,7 @@ A typical entity class resembles the following example:
[source,java,indent=0]
----
include::{include-springbootfeatures}/sql/jpa/City.java[]
include::{docs-java}/features/sql/jpaandspringdata/entityclasses/City.java[]
----
TIP: You can customize entity scanning locations by using the `@EntityScan` annotation.
......@@ -227,7 +227,7 @@ The following example shows a typical Spring Data repository interface definitio
[source,java,indent=0]
----
include::{include-springbootfeatures}/sql/jpa/CityRepository.java[]
include::{docs-java}/features/sql/jpaandspringdata/repositories/CityRepository.java[]
----
Spring Data JPA repositories support three different modes of bootstrapping: default, deferred, and lazy.
......@@ -368,7 +368,7 @@ To use the `DSLContext`, you can inject it, as shown in the following example:
[source,java,indent=0]
----
include::{include-springbootfeatures}/sql/jooq/JooqExample.java[tag=!method]
include::{docs-java}/features/sql/jooq/dslcontext/JooqExample.java[tag=!method]
----
TIP: The jOOQ manual tends to use a variable named `create` to hold the `DSLContext`.
......@@ -377,7 +377,7 @@ You can then use the `DSLContext` to construct your queries, as shown in the fol
[source,java,indent=0]
----
include::{include-springbootfeatures}/sql/jooq/JooqExample.java[tag=method]
include::{docs-java}/features/sql/jooq/dslcontext/JooqExample.java[tag=method]
----
......@@ -430,14 +430,14 @@ The following example shows how to manually override the database port while the
[source,java,indent=0]
----
include::{include-springbootfeatures}/sql/r2dbc/CustomizeR2dbcPortConfiguration.java[tag=*]
include::{docs-java}/features/sql/r2dbc/CustomizeR2dbcPortConfiguration.java[tag=*]
----
The following examples show how to set some PostgreSQL connection options:
[source,java,indent=0]
----
include::{include-springbootfeatures}/sql/r2dbc/CustomizeR2dbcPostgresOptionsConfiguration.java[tag=*]
include::{docs-java}/features/sql/r2dbc/CustomizeR2dbcPostgresOptionsConfiguration.java[tag=*]
----
When a `ConnectionFactory` bean is available, the regular JDBC `DataSource` auto-configuration backs off.
......@@ -474,7 +474,7 @@ A `DatabaseClient` bean is auto-configured, and you can `@Autowire` it directly
[source,java,indent=0]
----
include::{include-springbootfeatures}/sql/r2dbc/databaseclient/MyBean.java[tag=*]
include::{docs-java}/features/sql/r2dbc/usingdatabaseclient/MyBean.java[tag=*]
----
......@@ -494,7 +494,7 @@ The following example shows a typical Spring Data repository interface definitio
[source,java,indent=0]
----
include::{include-springbootfeatures}/sql/r2dbc/CityRepository.java[tag=*]
include::{docs-java}/features/sql/r2dbc/repositories/CityRepository.java[tag=*]
----
TIP: We have barely scratched the surface of Spring Data R2DBC. For complete details, see the {spring-data-r2dbc-docs}[Spring Data R2DBC reference documentation].
......@@ -8,5 +8,5 @@ For instance, the following service triggers the validation of the first argumen
[source,java,indent=0]
----
include::{include-springbootfeatures}/validation/MyBean.java[]
include::{docs-java}/features/validation/MyBean.java[]
----
......@@ -11,7 +11,7 @@ The following code shows a typical example:
[source,java,indent=0]
----
include::{include-springbootfeatures}/webclient/MyService.java[]
include::{docs-java}/features/webclient/MyService.java[]
----
......
......@@ -27,7 +27,7 @@ The following code shows a typical example:
[source,java,indent=0]
----
include::{include-springbootfeatures}/webservices/MyService.java[]
include::{docs-java}/features/webservices/template/MyService.java[]
----
By default, `WebServiceTemplateBuilder` detects a suitable HTTP-based `WebServiceMessageSender` using the available HTTP client libraries on the classpath.
......@@ -35,5 +35,5 @@ You can also customize read and connection timeouts as follows:
[source,java,indent=0]
----
include::{include-springbootfeatures}/webservices/MyWebServiceTemplateConfiguration.java[]
include::{docs-java}/features/webservices/template/MyWebServiceTemplateConfiguration.java[]
----
......@@ -34,7 +34,6 @@ See also the section on "`<<features#features.developing-web-applications.spring
[[howto.actuator.sanitize-sensitive-values]]
[[howto.actuator.sanitize-sensitive-values]]
=== Sanitize Sensitive Values
Information returned by the `env` and `configprops` endpoints can be somewhat sensitive so keys matching certain patterns are sanitized by default (i.e. their values are replaced by `+******+`). Spring Boot uses sensible defaults for such keys: any key ending with the word "password", "secret", "key", "token", "vcap_services", "sun.java.command" is entirely sanitized.
......@@ -69,5 +68,5 @@ The following example shows one way to write such an exporter:
[source,java,indent=0,subs="verbatim,quotes,attributes"]
----
include::{include-howto}/actuator/MetricsHealthMicrometerExport.java[tag=*]
include::{docs-java}/howto/actuator/maphealthindicatorstometrics/MetricsHealthMicrometerExport.java[tag=*]
----
......@@ -80,7 +80,7 @@ For instance, the following example loads a YAML configuration file from the cla
[source,java,indent=0]
----
include::{include-howto}/springbootapplication/MyEnvironmentPostProcessor.java[tag=*]
include::{docs-java}/howto/application/customizetheenvironmentorapplicationcontext/MyEnvironmentPostProcessor.java[tag=*]
----
TIP: The `Environment` has already been prepared with all the usual property sources that Spring Boot loads by default.
......
......@@ -9,7 +9,7 @@ This section answers questions related to doing so.
=== Configure a Custom DataSource
To configure your own `DataSource`, define a `@Bean` of that type in your configuration.
Spring Boot reuses your `DataSource` anywhere one is required, including database initialization.
If you need to externalize some settings, you can bind your `DataSource` to the environment (see "`<<features#features.external-config.typesafe-configuration-properties.3rd-party-configuration>>`").
If you need to externalize some settings, you can bind your `DataSource` to the environment (see "`<<features#features.external-config.typesafe-configuration-properties.third-party-configuration>>`").
The following example shows how to define a data source in a bean:
......@@ -43,7 +43,7 @@ The following example shows how to create a data source by using a `DataSourceBu
[source,java,indent=0,subs="verbatim,quotes,attributes"]
----
include::{include-howto}/dataaccess/BasicDataSourceConfiguration.java[tag=*]
include::{docs-java}/howto/dataaccess/configurecustomdatasource/BasicDataSourceConfiguration.java[tag=*]
----
To run an app with that `DataSource`, all you need is the connection information.
......@@ -84,7 +84,7 @@ The following example shows how create a `HikariDataSource` with `DataSourceBuil
[source,java,indent=0,subs="verbatim,quotes,attributes"]
----
include::{include-howto}/dataaccess/SimpleDataSourceConfiguration.java[tag=*]
include::{docs-java}/howto/dataaccess/configurecustomdatasource/SimpleDataSourceConfiguration.java[tag=*]
----
You can even go further by leveraging what `DataSourceProperties` does for you -- that is, by providing a default embedded database with a sensible username and password if no URL is provided.
......@@ -94,7 +94,7 @@ To avoid that, you can redefine a custom `DataSourceProperties` on your custom n
[source,java,indent=0,subs="verbatim,quotes,attributes"]
----
include::{include-howto}/dataaccess/ConfigurableDataSourceConfiguration.java[tag=*]
include::{docs-java}/howto/dataaccess/configurecustomdatasource/ConfigurableDataSourceConfiguration.java[tag=*]
----
This setup puts you _in sync_ with what Spring Boot does for you by default, except that a dedicated connection pool is chosen (in code) and its settings are exposed in the `app.datasource.configuration` sub namespace.
......@@ -131,7 +131,7 @@ In the following example, we provide the _exact_ same feature set as the auto-co
[source,java,indent=0,subs="verbatim,quotes,attributes"]
----
include::{include-howto}/dataaccess/SimpleDataSourcesConfiguration.java[tag=*]
include::{docs-java}/howto/dataaccess/configuretwodatasources/SimpleDataSourcesConfiguration.java[tag=*]
----
TIP: `firstDataSourceProperties` has to be flagged as `@Primary` so that the database initializer feature uses your copy (if you use the initializer).
......@@ -161,7 +161,7 @@ You can apply the same concept to the secondary `DataSource` as well, as shown i
[source,java,indent=0,subs="verbatim,quotes,attributes"]
----
include::{include-howto}/dataaccess/CompleteDataSourcesConfiguration.java[tag=*]
include::{docs-java}/howto/dataaccess/configuretwodatasources/CompleteDataSourcesConfiguration.java[tag=*]
----
The preceding example configures two data sources on custom namespaces with the same logic as Spring Boot would use in auto-configuration.
......@@ -255,7 +255,7 @@ This implementation provides the same table structure as Hibernate 4: all dots a
[source,java,indent=0]
----
include::{include-howto}/dataaccess/CaseSensitiveSpringPhysicalNamingStrategyConfiguration.java[tag=*]
include::{docs-java}/howto/dataaccess/configurehibernatenamingstrategy/CaseSensitiveSpringPhysicalNamingStrategyConfiguration.java[tag=*]
----
If you prefer to use Hibernate 5's default instead, set the following property:
......@@ -289,7 +289,7 @@ Then, add a `HibernatePropertiesCustomizer` bean as shown in the following examp
[source,java,indent=0]
----
include::{include-howto}/dataaccess/HibernateSecondLevelCacheConfiguration.java[tag=*]
include::{docs-java}/howto/dataaccess/configurehibernatesecondlevelcaching/HibernateSecondLevelCacheConfiguration.java[tag=*]
----
This customizer will configure Hibernate to use the same `CacheManager` as the one that the application uses.
......@@ -322,7 +322,7 @@ You can also reuse `JpaProperties` to bind settings for each `EntityManagerFacto
[source,java,pending-extract=true,indent=0,subs="verbatim,quotes,attributes"]
----
include::{include-howto}/dataaccess/CustomEntityManagerFactoryExample.java[tag=*]
include::{docs-java}/howto/dataaccess/usemultipleentitymanagers/CustomEntityManagerFactoryExample.java[tag=*]
----
The example above creates an `EntityManagerFactory` using a `DataSource` bean named `firstDataSource`.
......@@ -413,7 +413,7 @@ For example, if you use Hibernate Search with Elasticsearch as its index manager
[source,java,indent=0]
----
include::{include-howto}/dataaccess/ElasticsearchEntityManagerFactoryDependsOnPostProcessor.java[tag=*]
include::{docs-java}/howto/dataaccess/configureacomponentthatisusedbyjpa/ElasticsearchEntityManagerFactoryDependsOnPostProcessor.java[tag=*]
----
......
......@@ -11,12 +11,6 @@ As described in <<features#features.resttemplate.customization>>, you can use a
This is the recommended approach for creating a `RestTemplate` configured to use a proxy.
The exact details of the proxy configuration depend on the underlying client request factory that is being used.
The following example configures `HttpComponentsClientRequestFactory` with an `HttpClient` that uses a proxy for all hosts except `192.168.0.5`:
[source,java,indent=0]
----
include::{include-springbootfeatures}/resttemplate/RestTemplateProxyCustomizer.java[tag=*]
----
......@@ -28,7 +22,7 @@ The following example configures a 60 second connect timeout and adds a `ReadTim
[source,java,indent=0]
----
include::{include-howto}/httpclients/CustomizeReactorNettyClientConfiguration.java[tag=*]
include::{docs-java}/howto/httpclients/webclientreactornettycustomization/CustomizeReactorNettyClientConfiguration.java[tag=*]
----
TIP: Note the use of `ReactorResourceFactory` for the connection provider and event loop resources.
......
......@@ -13,7 +13,7 @@ The `jersey.config.server.response.setStatusOverSendError` property must be set
[source,java,indent=0]
----
include::{include-howto}/jersey/JerseySetStatusOverSendErrorConfig.java[tag=*]
include::{docs-java}/howto/jersey/springsecurity/JerseySetStatusOverSendErrorConfig.java[tag=*]
----
......
......@@ -464,7 +464,7 @@ You can add an `org.apache.catalina.connector.Connector` to the `TomcatServletWe
[source,java,indent=0,subs="verbatim,quotes,attributes"]
----
include::{include-howto}/embeddedwebservers/TomcatMultipleConnectorsConfiguration.java[tag=*]
include::{docs-java}/howto/webserver/enablemultipleconnectorsintomcat/TomcatMultipleConnectorsConfiguration.java[tag=*]
----
......@@ -484,7 +484,7 @@ To switch to the `LegacyCookieProcessor`, use an `WebServerFactoryCustomizer` be
[source,java,indent=0]
----
include::{include-howto}/embeddedwebservers/LegacyCookieProcessorConfiguration.java[tag=*]
include::{docs-java}/howto/webserver/usetomcatlegacycookieprocessor/LegacyCookieProcessorConfiguration.java[tag=*]
----
......@@ -511,7 +511,7 @@ Add an `UndertowBuilderCustomizer` to the `UndertowServletWebServerFactory` and
[source,java,indent=0,subs="verbatim,quotes,attributes"]
----
include::{include-howto}/embeddedwebservers/UndertowMultipleListenersConfiguration.java[tag=*]
include::{docs-java}/howto/webserver/enablemultiplelistenersinundertow/UndertowMultipleListenersConfiguration.java[tag=*]
----
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.productionreadyfeatures.cloudfoundry;
package org.springframework.boot.docs.actuator.cloudfoundry.customcontextpath;
// tag::code[]
import java.io.IOException;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.productionreadyfeatures.endpoints;
package org.springframework.boot.docs.actuator.endpoints.implementingcustom;
import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.productionreadyfeatures.metrics;
package org.springframework.boot.docs.actuator.metrics.customizing;
// tag::code[]
import io.micrometer.core.instrument.config.MeterFilter;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.productionreadyfeatures.metrics;
package org.springframework.boot.docs.actuator.metrics.registeringcustom;
//tag::code[]
import java.util.Collections;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.productionreadyfeatures.metrics;
package org.springframework.boot.docs.actuator.metrics.registeringcustom;
// tag::code[]
import io.micrometer.core.instrument.Gauge;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.productionreadyfeatures.metrics.mongo;
package org.springframework.boot.docs.actuator.metrics.supported.mongodb.command;
import com.mongodb.event.CommandEvent;
import io.micrometer.core.instrument.Tag;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.productionreadyfeatures.metrics.mongo;
package org.springframework.boot.docs.actuator.metrics.supported.mongodb.connectionpool;
// tag::code[]
import com.mongodb.event.ConnectionPoolCreatedEvent;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.caching;
package org.springframework.boot.docs.features.caching;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Component;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.caching;
package org.springframework.boot.docs.features.caching.provider;
import org.springframework.boot.autoconfigure.cache.CacheManagerCustomizer;
import org.springframework.cache.concurrent.ConcurrentMapCacheManager;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.nosql;
package org.springframework.boot.docs.features.caching.provider.couchbase;
import java.time.Duration;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.nosql;
package org.springframework.boot.docs.features.caching.provider.redis;
import java.time.Duration;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.creatingautoconfiguration.beanconditions;
package org.springframework.boot.docs.features.developingautoconfiguration.conditionannotations.beanconditions;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.creatingautoconfiguration.beanconditions;
package org.springframework.boot.docs.features.developingautoconfiguration.conditionannotations.beanconditions;
public class SomeService {
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.creatingautoconfiguration.classconditions;
package org.springframework.boot.docs.features.developingautoconfiguration.conditionannotations.classconditions;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.creatingautoconfiguration.classconditions;
package org.springframework.boot.docs.features.developingautoconfiguration.conditionannotations.classconditions;
class SomeService {
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.creatingautoconfiguration.configurationkeys;
package org.springframework.boot.docs.features.developingautoconfiguration.customstarter.configurationkeys;
import java.time.Duration;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.testing;
package org.springframework.boot.docs.features.developingautoconfiguration.testing;
import org.junit.jupiter.api.Test;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.testing;
package org.springframework.boot.docs.features.developingautoconfiguration.testing;
public class UserService {
......
......@@ -14,13 +14,13 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.testing;
package org.springframework.boot.docs.features.developingautoconfiguration.testing;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.docs.springbootfeatures.testing.UserServiceAutoConfiguration.UserProperties;
import org.springframework.boot.docs.features.developingautoconfiguration.testing.UserServiceAutoConfiguration.UserProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.testing;
package org.springframework.boot.docs.features.developingautoconfiguration.testing;
import org.junit.jupiter.api.Test;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.webapplications.embeddedservletcontainer;
package org.springframework.boot.docs.features.developingwebapplications.embeddedcontainer.customizing.programmatic;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.webapplications.embeddedservletcontainer;
package org.springframework.boot.docs.features.developingwebapplications.embeddedcontainer.customizing.programmatic;
import java.time.Duration;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.webapplications.jersey;
package org.springframework.boot.docs.features.developingwebapplications.jersey;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.webapplications.jersey;
package org.springframework.boot.docs.features.developingwebapplications.jersey;
import org.glassfish.jersey.server.ResourceConfig;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.webapplications.servlet;
package org.springframework.boot.docs.features.developingwebapplications.springmvc;
import java.util.List;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.webapplications.servlet;
package org.springframework.boot.docs.features.developingwebapplications.springmvc.cors;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.webapplications.servlet;
package org.springframework.boot.docs.features.developingwebapplications.springmvc.errorhandling;
import javax.servlet.http.HttpServletRequest;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.webapplications.servlet;
package org.springframework.boot.docs.features.developingwebapplications.springmvc.errorhandling;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpServletRequest;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.webapplications.servlet;
package org.springframework.boot.docs.features.developingwebapplications.springmvc.errorhandling.errorpages;
import java.util.Map;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.webapplications.servlet;
package org.springframework.boot.docs.features.developingwebapplications.springmvc.errorhandling.errorpageswithoutspringmvc;
import org.springframework.boot.web.server.ErrorPage;
import org.springframework.boot.web.server.ErrorPageRegistrar;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.webapplications.servlet;
package org.springframework.boot.docs.features.developingwebapplications.springmvc.errorhandling.errorpageswithoutspringmvc;
import java.io.IOException;
import java.util.EnumSet;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.webapplications.json;
package org.springframework.boot.docs.features.developingwebapplications.springmvc.json;
import java.io.IOException;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.webapplications.json.object;
package org.springframework.boot.docs.features.developingwebapplications.springmvc.json.object;
import java.io.IOException;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.webapplications;
package org.springframework.boot.docs.features.developingwebapplications.springmvc.messageconverters;
import java.io.IOException;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.webapplications.webflux;
package org.springframework.boot.docs.features.developingwebapplications.springwebflux;
import java.util.List;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.webapplications.webflux.fn;
package org.springframework.boot.docs.features.developingwebapplications.springwebflux;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.webapplications.webflux.fn;
package org.springframework.boot.docs.features.developingwebapplications.springwebflux;
import reactor.core.publisher.Mono;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.webapplications.webflux;
package org.springframework.boot.docs.features.developingwebapplications.springwebflux.errorhandling;
import reactor.core.publisher.Mono;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.webapplications.webflux;
package org.springframework.boot.docs.features.developingwebapplications.springwebflux.errorhandling;
import org.springframework.boot.web.reactive.error.ErrorAttributes;
import org.springframework.stereotype.Controller;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.webapplications.webflux;
package org.springframework.boot.docs.features.developingwebapplications.springwebflux.httpcodecs;
import org.springframework.boot.web.codec.CodecCustomizer;
import org.springframework.context.annotation.Bean;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.externalizedconfiguration.valueinjection;
package org.springframework.boot.docs.features.externalconfig;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.externalizedconfiguration.constructorbinding;
package org.springframework.boot.docs.features.externalconfig.typesafeconfigurationproperties.constructorbinding;
import java.net.InetAddress;
import java.util.List;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.externalizedconfiguration.constructorbinding.nonnull;
package org.springframework.boot.docs.features.externalconfig.typesafeconfigurationproperties.constructorbinding.nonnull;
import java.net.InetAddress;
import java.util.List;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.externalizedconfiguration.datasize.constructorbinding;
package org.springframework.boot.docs.features.externalconfig.typesafeconfigurationproperties.conversion.datasizes.constructorbinding;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.ConstructorBinding;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.externalizedconfiguration.datasize.javabeanbinding;
package org.springframework.boot.docs.features.externalconfig.typesafeconfigurationproperties.conversion.datasizes.javabeanbinding;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.convert.DataSizeUnit;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.externalizedconfiguration.duration.constructorbinding;
package org.springframework.boot.docs.features.externalconfig.typesafeconfigurationproperties.conversion.durations.constructorbinding;
import java.time.Duration;
import java.time.temporal.ChronoUnit;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.externalizedconfiguration.duration.javabeanbinding;
package org.springframework.boot.docs.features.externalconfig.typesafeconfigurationproperties.conversion.durations.javabeanbinding;
import java.time.Duration;
import java.time.temporal.ChronoUnit;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.externalizedconfiguration.enable;
package org.springframework.boot.docs.features.externalconfig.typesafeconfigurationproperties.enablingannotatedtypes;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.externalizedconfiguration.enable;
package org.springframework.boot.docs.features.externalconfig.typesafeconfigurationproperties.enablingannotatedtypes;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Configuration;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.externalizedconfiguration.javabeanbinding;
package org.springframework.boot.docs.features.externalconfig.typesafeconfigurationproperties.javabeanbinding;
import java.net.InetAddress;
import java.util.ArrayList;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.externalizedconfiguration.merge.list;
package org.springframework.boot.docs.features.externalconfig.typesafeconfigurationproperties.mergingcomplextypes.list;
import java.util.ArrayList;
import java.util.List;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.externalizedconfiguration.merge.map;
package org.springframework.boot.docs.features.externalconfig.typesafeconfigurationproperties.mergingcomplextypes.map;
import java.util.LinkedHashMap;
import java.util.Map;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.externalizedconfiguration.relaxed;
package org.springframework.boot.docs.features.externalconfig.typesafeconfigurationproperties.relaxedbinding;
import org.springframework.boot.context.properties.ConfigurationProperties;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.externalizedconfiguration;
package org.springframework.boot.docs.features.externalconfig.typesafeconfigurationproperties.thirdpartyconfiguration;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.externalizedconfiguration.use;
package org.springframework.boot.docs.features.externalconfig.typesafeconfigurationproperties.usingannotatedtypes;
import org.springframework.stereotype.Service;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.externalizedconfiguration.validate;
package org.springframework.boot.docs.features.externalconfig.typesafeconfigurationproperties.validate;
import java.net.InetAddress;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.externalizedconfiguration.validate.nested;
package org.springframework.boot.docs.features.externalconfig.typesafeconfigurationproperties.validate.nested;
import java.net.InetAddress;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.jta.nonxa;
package org.springframework.boot.docs.features.jta.mixingxaandnonxaconnections.nonxa;
import javax.jms.ConnectionFactory;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.jta.primary;
package org.springframework.boot.docs.features.jta.mixingxaandnonxaconnections.primary;
import javax.jms.ConnectionFactory;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.jta.xa;
package org.springframework.boot.docs.features.jta.mixingxaandnonxaconnections.xa;
import javax.jms.ConnectionFactory;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.messaging.amqp.receiving;
package org.springframework.boot.docs.features.messaging.amqp.receiving;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.messaging.amqp.receiving.custom;
package org.springframework.boot.docs.features.messaging.amqp.receiving.custom;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.messaging.amqp.receiving.custom;
package org.springframework.boot.docs.features.messaging.amqp.receiving.custom;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessageProperties;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.messaging.amqp.sending;
package org.springframework.boot.docs.features.messaging.amqp.sending;
import org.springframework.amqp.core.AmqpAdmin;
import org.springframework.amqp.core.AmqpTemplate;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.messaging.jms.receiving;
package org.springframework.boot.docs.features.messaging.jms.receiving;
import org.springframework.jms.annotation.JmsListener;
import org.springframework.stereotype.Component;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.messaging.jms.receiving.custom;
package org.springframework.boot.docs.features.messaging.jms.receiving.custom;
import javax.jms.ConnectionFactory;
import javax.jms.JMSException;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.messaging.jms.receiving.custom;
package org.springframework.boot.docs.features.messaging.jms.receiving.custom;
import org.springframework.jms.annotation.JmsListener;
import org.springframework.stereotype.Component;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.messaging.jms.template;
package org.springframework.boot.docs.features.messaging.jms.sending;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.stereotype.Component;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.messaging.kafka.test.annotation;
package org.springframework.boot.docs.features.messaging.kafka.embedded.annotation;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.kafka.test.context.EmbeddedKafka;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.messaging.kafka.test.property;
package org.springframework.boot.docs.features.messaging.kafka.embedded.property;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.kafka.test.EmbeddedKafkaBroker;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.docs.springbootfeatures.messaging.kafka.receiving;
package org.springframework.boot.docs.features.messaging.kafka.receiving;
import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.stereotype.Component;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment