Remove obsolete role attributes for tab groups in the reference manual
Since we now use asciidoctor-tabs instead of spring-asciidoctor-backends,
we no longer need the `role="primary"` and `role="secondary"` attributes
for tab groups.
Closes gh-33506
@ -58,7 +58,7 @@ The following example shows a simple `MethodInterceptor` implementation:
@@ -58,7 +58,7 @@ The following example shows a simple `MethodInterceptor` implementation:
@ -139,7 +139,7 @@ The following example shows a before advice in Spring, which counts all method i
@@ -139,7 +139,7 @@ The following example shows a before advice in Spring, which counts all method i
@ -197,7 +197,7 @@ The following advice is invoked if a `RemoteException` is thrown (including from
@@ -197,7 +197,7 @@ The following advice is invoked if a `RemoteException` is thrown (including from
@ -228,7 +228,7 @@ arguments, and target object. The following advice is invoked if a `ServletExcep
@@ -228,7 +228,7 @@ arguments, and target object. The following advice is invoked if a `ServletExcep
class ServletThrowsAdviceWithArguments : ThrowsAdvice {
@ -259,7 +259,7 @@ methods can be combined in a single class. The following listing shows the final
@@ -259,7 +259,7 @@ methods can be combined in a single class. The following listing shows the final
class CountingAfterReturningAdvice : AfterReturningAdvice {
@ -420,7 +420,7 @@ introduce the following interface to one or more objects:
@@ -420,7 +420,7 @@ introduce the following interface to one or more objects:
@ -480,7 +480,7 @@ The following example shows the example `LockMixin` class:
@@ -480,7 +480,7 @@ The following example shows the example `LockMixin` class:
class LockMixin : DelegatingIntroductionInterceptor(), Lockable {
@ -556,7 +556,7 @@ The following example shows our `LockMixinAdvisor` class:
@@ -556,7 +556,7 @@ The following example shows our `LockMixinAdvisor` class:
@ -187,7 +187,7 @@ following example shows how to subclass `StaticMethodMatcherPointcut`:
@@ -187,7 +187,7 @@ following example shows how to subclass `StaticMethodMatcherPointcut`:
@ -38,7 +38,7 @@ You can change the target by using the `swap()` method on HotSwappableTargetSour
@@ -38,7 +38,7 @@ You can change the target by using the `swap()` method on HotSwappableTargetSour
@ -15,7 +15,7 @@ The basic usage for this class is very simple, as the following example shows:
@@ -15,7 +15,7 @@ The basic usage for this class is very simple, as the following example shows:
@ -101,7 +101,7 @@ You can declare it by using the `@AfterReturning` annotation.
@@ -101,7 +101,7 @@ You can declare it by using the `@AfterReturning` annotation.
@ -311,7 +311,7 @@ purposes. The following example shows how to use after finally advice:
@@ -311,7 +311,7 @@ purposes. The following example shows how to use after finally advice:
private fun accountDataAccessOperation(account: Account) {
@ -572,7 +572,7 @@ The following shows the definition of the `@Auditable` annotation:
@@ -572,7 +572,7 @@ The following shows the definition of the `@Auditable` annotation:
@ -597,7 +597,7 @@ The following shows the advice that matches the execution of `@Auditable` method
@@ -597,7 +597,7 @@ The following shows the advice that matches the execution of `@Auditable` method
@ -656,7 +656,7 @@ tying the advice parameter to the parameter type for which you want to intercept
@@ -656,7 +656,7 @@ tying the advice parameter to the parameter type for which you want to intercept
fun beforeSampleMethod(param: Collection<MyType>) {
@ -756,7 +756,7 @@ The following example shows how to use the `argNames` attribute:
@@ -756,7 +756,7 @@ The following example shows how to use the `argNames` attribute:
value = "com.xyz.Pointcuts.publicMethod() && target(bean) && @annotation(auditable)", // <1>
@ -794,7 +794,7 @@ point object, the `argNames` attribute does not need to include it:
@@ -794,7 +794,7 @@ point object, the `argNames` attribute does not need to include it:
@ -15,7 +15,7 @@ interfaces also implement the `UsageTracked` interface (e.g. for statistics via
@@ -15,7 +15,7 @@ interfaces also implement the `UsageTracked` interface (e.g. for statistics via
@Pointcut("execution(* transfer(..))") // the pointcut expression
private fun anyOldTransfer() {} // the pointcut signature
@ -150,7 +150,7 @@ pointcut expressions by name. The following example shows three pointcut express
@@ -150,7 +150,7 @@ pointcut expressions by name. The following example shows three pointcut express
@ -217,7 +217,7 @@ expressions for this purpose. Such a class typically resembles the following
@@ -217,7 +217,7 @@ expressions for this purpose. Such a class typically resembles the following
@ -59,7 +59,7 @@ For example, in the @AspectJ style you can write something like the following:
@@ -59,7 +59,7 @@ For example, in the @AspectJ style you can write something like the following:
@ -255,7 +255,7 @@ configured to expose the proxy, as the following example shows:
@@ -255,7 +255,7 @@ configured to expose the proxy, as the following example shows:
@ -282,14 +282,14 @@ example, you can declare the method signature as follows:
@@ -282,14 +282,14 @@ example, you can declare the method signature as follows:
@ -340,14 +340,14 @@ The type of this parameter constrains matching in the same way as described for
@@ -340,14 +340,14 @@ The type of this parameter constrains matching in the same way as described for
fun doRecoveryActions(dataAccessEx: DataAccessException) {...
----
@ -421,7 +421,7 @@ The implementation of the `doBasicProfiling` advice can be exactly the same as i
@@ -421,7 +421,7 @@ The implementation of the `doBasicProfiling` advice can be exactly the same as i
fun doBasicProfiling(pjp: ProceedingJoinPoint): Any? {
// start stopwatch
@ -475,7 +475,7 @@ some around advice used in conjunction with a number of strongly typed parameter
@@ -475,7 +475,7 @@ some around advice used in conjunction with a number of strongly typed parameter
@ -521,7 +521,7 @@ proceed with the method call. The presence of this parameter is an indication th
@@ -521,7 +521,7 @@ proceed with the method call. The presence of this parameter is an indication th
val ctx = ClassPathXmlApplicationContext("beans.xml")
@ -714,7 +714,7 @@ The class that backs the `usageTracking` bean would then contain the following m
@@ -714,7 +714,7 @@ The class that backs the `usageTracking` bean would then contain the following m
@ -953,7 +953,7 @@ to annotate the implementation of service operations, as the following example s
@@ -953,7 +953,7 @@ to annotate the implementation of service operations, as the following example s
@ -84,7 +84,7 @@ can do so directly in the annotation, as the following example shows:
@@ -84,7 +84,7 @@ can do so directly in the annotation, as the following example shows:
@ -153,14 +153,14 @@ available for use in the body of the constructors, you need to define this on th
@@ -153,14 +153,14 @@ available for use in the body of the constructors, you need to define this on th
@ -413,7 +413,7 @@ It is a time-based profiler that uses the @AspectJ-style of aspect declaration:
@@ -413,7 +413,7 @@ It is a time-based profiler that uses the @AspectJ-style of aspect declaration:
@ -544,7 +544,7 @@ driver class with a `main(..)` method to demonstrate the LTW in action:
@@ -544,7 +544,7 @@ driver class with a `main(..)` method to demonstrate the LTW in action:
@ -140,7 +140,7 @@ Taking our previous example, let's assume that `DataSourceConfiguration` is as f
@@ -140,7 +140,7 @@ Taking our previous example, let's assume that `DataSourceConfiguration` is as f
@ -176,7 +176,7 @@ The AOT engine will convert the configuration class above to code similar to the
@@ -176,7 +176,7 @@ The AOT engine will convert the configuration class above to code similar to the
======
Java::
+
[source,java,indent=0,role="primary"]
[source,java,indent=0]
----
/**
* Bean definitions for {@link DataSourceConfiguration}
@ -278,7 +278,7 @@ Consider the following example:
@@ -278,7 +278,7 @@ Consider the following example:
public class ClientFactoryBean<T extends AbstractClient> implements FactoryBean<T> {
// ...
@ -379,7 +379,7 @@ A concrete client declaration should provide a resolved generic for the client,
@@ -379,7 +379,7 @@ A concrete client declaration should provide a resolved generic for the client,
@ -423,7 +423,7 @@ The JPA persistence unit has to be known upfront for certain optimizations to ap
@@ -423,7 +423,7 @@ The JPA persistence unit has to be known upfront for certain optimizations to ap
@ -442,7 +442,7 @@ factory bean definition, as shown by the following example:
@@ -442,7 +442,7 @@ factory bean definition, as shown by the following example:
@ -475,7 +475,7 @@ The following example makes sure that `config/app.properties` can be loaded from
@@ -475,7 +475,7 @@ The following example makes sure that `config/app.properties` can be loaded from
@ -202,7 +202,7 @@ we can parse our custom XML content, as you can see in the following example:
@@ -202,7 +202,7 @@ we can parse our custom XML content, as you can see in the following example:
@ -480,7 +480,7 @@ setter property for the `components` property. The following listing shows such
@@ -480,7 +480,7 @@ setter property for the `components` property. The following listing shows such
@ -843,7 +843,7 @@ Next, we need to create the associated `NamespaceHandler`, as follows:
@@ -843,7 +843,7 @@ Next, we need to create the associated `NamespaceHandler`, as follows:
@ -121,7 +121,7 @@ The following example enumeration shows how easy injecting an enum value is:
@@ -121,7 +121,7 @@ The following example enumeration shows how easy injecting an enum value is:
@ -152,7 +152,7 @@ Now consider the following setter of type `PersistenceContextType` and the corre
@@ -152,7 +152,7 @@ Now consider the following setter of type `PersistenceContextType` and the corre
@ -100,7 +100,7 @@ With both variants of the preceding configuration, the following
@@ -100,7 +100,7 @@ With both variants of the preceding configuration, the following
@ -14,7 +14,7 @@ this can be a plain descriptive value, as shown in the following example:
@@ -14,7 +14,7 @@ this can be a plain descriptive value, as shown in the following example:
@ -198,7 +198,7 @@ provide the `@Qualifier` annotation within your definition, as the following exa
@@ -198,7 +198,7 @@ provide the `@Qualifier` annotation within your definition, as the following exa
@ -464,7 +464,7 @@ for both attributes: `genre` and `format`, as the following example shows:
@@ -464,7 +464,7 @@ for both attributes: `genre` and `format`, as the following example shows:
@ -13,7 +13,7 @@ You can apply the `@Autowired` annotation to constructors, as the following exam
@@ -13,7 +13,7 @@ You can apply the `@Autowired` annotation to constructors, as the following exam
private val customerPreferenceDao: CustomerPreferenceDao) {
@ -226,7 +226,7 @@ expects an array of that type, as the following example shows:
@@ -226,7 +226,7 @@ expects an array of that type, as the following example shows:
@ -257,7 +257,7 @@ The same applies for typed collections, as the following example shows:
@@ -257,7 +257,7 @@ The same applies for typed collections, as the following example shows:
@ -319,7 +319,7 @@ corresponding bean names, as the following example shows:
@@ -319,7 +319,7 @@ corresponding bean names, as the following example shows:
@ -361,7 +361,7 @@ non-required (i.e., by setting the `required` attribute in `@Autowired` to `fals
@@ -361,7 +361,7 @@ non-required (i.e., by setting the `required` attribute in `@Autowired` to `fals
@ -103,7 +103,7 @@ named "customerPreferenceDao" and then falls back to a primary type match for th
@@ -103,7 +103,7 @@ named "customerPreferenceDao" and then falls back to a primary type match for th
class MovieRecommender(@Value("\${catalog.name:defaultCatalog}") private val catalog: String)
@ -148,7 +148,7 @@ provide conversion support for your own custom type, you can provide your own
@@ -148,7 +148,7 @@ provide conversion support for your own custom type, you can provide your own
@ -215,7 +215,7 @@ SpEL also enables the use of more complex data structures:
@@ -215,7 +215,7 @@ SpEL also enables the use of more complex data structures:
@ -110,14 +110,14 @@ as the local file system, the Java `CLASSPATH`, and so on.
@@ -110,14 +110,14 @@ as the local file system, the Java `CLASSPATH`, and so on.
@ -90,7 +90,7 @@ you need to programmatically call `addBeanPostProcessor`, as the following examp
@@ -90,7 +90,7 @@ you need to programmatically call `addBeanPostProcessor`, as the following examp
@ -124,7 +124,7 @@ you need to call its `postProcessBeanFactory` method, as the following example s
@@ -124,7 +124,7 @@ you need to call its `postProcessBeanFactory` method, as the following example s
@ -59,7 +59,7 @@ is meta-annotated with `@Component`, as the following example shows:
@@ -59,7 +59,7 @@ is meta-annotated with `@Component`, as the following example shows:
@ -103,7 +103,7 @@ customization of the `proxyMode`. The following listing shows the definition of
@@ -103,7 +103,7 @@ customization of the `proxyMode`. The following listing shows the definition of
@ -142,7 +142,7 @@ You can then use `@SessionScope` without declaring the `proxyMode` as follows:
@@ -142,7 +142,7 @@ You can then use `@SessionScope` without declaring the `proxyMode` as follows:
@ -169,7 +169,7 @@ You can also override the value for the `proxyMode`, as the following example sh
@@ -169,7 +169,7 @@ You can also override the value for the `proxyMode`, as the following example sh
@ -262,7 +262,7 @@ comma- or semicolon- or space-separated list that includes the parent package of
@@ -262,7 +262,7 @@ comma- or semicolon- or space-separated list that includes the parent package of
@ -438,7 +438,7 @@ annotated classes. The following example shows how to do so:
@@ -438,7 +438,7 @@ annotated classes. The following example shows how to do so:
@ -493,7 +493,7 @@ support for autowiring of `@Bean` methods. The following example shows how to do
@@ -493,7 +493,7 @@ support for autowiring of `@Bean` methods. The following example shows how to do
@ -585,7 +585,7 @@ The following example shows how to use `InjectionPoint`:
@@ -585,7 +585,7 @@ The following example shows how to use `InjectionPoint`:
@ -699,7 +699,7 @@ following component classes were detected, the names would be `myMovieLister` an
@@ -699,7 +699,7 @@ following component classes were detected, the names would be `myMovieLister` an
@ -759,7 +759,7 @@ fully qualified class name for the generated bean name. The
@@ -759,7 +759,7 @@ fully qualified class name for the generated bean name. The
@ -806,7 +806,7 @@ scope within the annotation, as the following example shows:
@@ -806,7 +806,7 @@ scope within the annotation, as the following example shows:
@ -887,7 +887,7 @@ the following configuration results in standard JDK dynamic proxies:
@@ -887,7 +887,7 @@ the following configuration results in standard JDK dynamic proxies:
@ -102,7 +102,7 @@ implementations and so can be cast to the `MessageSource` interface.
@@ -102,7 +102,7 @@ implementations and so can be cast to the `MessageSource` interface.
val resources = ClassPathXmlApplicationContext("beans.xml")
@ -161,7 +161,7 @@ converted into `String` objects and inserted into placeholders in the lookup mes
@@ -161,7 +161,7 @@ converted into `String` objects and inserted into placeholders in the lookup mes
@ -224,7 +224,7 @@ argument.required=Ebagum lad, the ''{0}'' argument is required, I say, required.
@@ -224,7 +224,7 @@ argument.required=Ebagum lad, the ''{0}'' argument is required, I say, required.
val resources = ClassPathXmlApplicationContext("beans.xml")
@ -344,7 +344,7 @@ simple class that extends Spring's `ApplicationEvent` base class:
@@ -344,7 +344,7 @@ simple class that extends Spring's `ApplicationEvent` base class:
class BlockedListNotifier : ApplicationListener<BlockedListEvent> {
@ -545,7 +545,7 @@ You can register an event listener on any method of a managed bean by using the
@@ -545,7 +545,7 @@ You can register an event listener on any method of a managed bean by using the
@ -621,7 +621,7 @@ The following example shows how our notifier can be rewritten to be invoked only
@@ -621,7 +621,7 @@ The following example shows how our notifier can be rewritten to be invoked only
fun processBlockedListEvent(blEvent: BlockedListEvent) {
@ -677,7 +677,7 @@ method signature to return the event that should be published, as the following
@@ -677,7 +677,7 @@ method signature to return the event that should be published, as the following
@ -763,7 +763,7 @@ annotation to the method declaration, as the following example shows:
@@ -763,7 +763,7 @@ annotation to the method declaration, as the following example shows:
@ -797,7 +797,7 @@ can create the following listener definition to receive only `EntityCreatedEvent
@@ -797,7 +797,7 @@ can create the following listener definition to receive only `EntityCreatedEvent
fun onPersonCreated(event: EntityCreatedEvent<Person>) {
@ -829,7 +829,7 @@ environment provides. The following event shows how to do so:
@@ -829,7 +829,7 @@ environment provides. The following event shows how to do so:
class EntityCreatedEvent<T>(entity: T) : ApplicationEvent(entity), ResolvableTypeProvider {
@ -935,7 +935,7 @@ Here is an example of instrumentation in the `AnnotationConfigApplicationContext
@@ -935,7 +935,7 @@ Here is an example of instrumentation in the `AnnotationConfigApplicationContext
@ -11,7 +11,7 @@ To enable load-time weaving, you can add the `@EnableLoadTimeWeaving` to one of
@@ -11,7 +11,7 @@ To enable load-time weaving, you can add the `@EnableLoadTimeWeaving` to one of
@ -298,7 +298,7 @@ The following example shows a class that would work with the preceding bean defi
@@ -298,7 +298,7 @@ The following example shows a class that would work with the preceding bean defi
@ -265,7 +265,7 @@ on container specific interfaces, base classes, or annotations.
@@ -265,7 +265,7 @@ on container specific interfaces, base classes, or annotations.
@ -440,7 +440,7 @@ The following example shows the corresponding `ExampleBean` class:
@@ -440,7 +440,7 @@ The following example shows the corresponding `ExampleBean` class:
@ -503,7 +503,7 @@ The following example shows the corresponding `ExampleBean` class:
@@ -503,7 +503,7 @@ The following example shows the corresponding `ExampleBean` class:
@ -557,7 +557,7 @@ The following example shows the corresponding `ExampleBean` class:
@@ -557,7 +557,7 @@ The following example shows the corresponding `ExampleBean` class:
@ -220,7 +220,7 @@ method through the `@Lookup` annotation, as the following example shows:
@@ -220,7 +220,7 @@ method through the `@Lookup` annotation, as the following example shows:
@ -324,7 +324,7 @@ the following class, which has a method called `computeValue` that we want to ov
@@ -324,7 +324,7 @@ the following class, which has a method called `computeValue` that we want to ov
@ -358,7 +358,7 @@ interface provides the new method definition, as the following example shows:
@@ -358,7 +358,7 @@ interface provides the new method definition, as the following example shows:
@ -354,7 +354,7 @@ The following Java class and bean definition show how to do so:
@@ -354,7 +354,7 @@ The following Java class and bean definition show how to do so:
@ -418,14 +418,14 @@ The preceding example is equivalent to the following Java code:
@@ -418,14 +418,14 @@ The preceding example is equivalent to the following Java code:
@ -449,14 +449,14 @@ The preceding configuration is equivalent to the following Java code:
@@ -449,14 +449,14 @@ The preceding configuration is equivalent to the following Java code:
@ -43,7 +43,7 @@ Consider the first use case in a practical application that requires a
@@ -43,7 +43,7 @@ Consider the first use case in a practical application that requires a
@ -233,7 +233,7 @@ of creating a custom composed annotation. The following example defines a custom
@@ -233,7 +233,7 @@ of creating a custom composed annotation. The following example defines a custom
@ -454,7 +454,7 @@ it programmatically against the `Environment` API which is available through an
@@ -454,7 +454,7 @@ it programmatically against the `Environment` API which is available through an
@ -578,7 +578,7 @@ hierarchy of property sources. Consider the following listing:
@@ -578,7 +578,7 @@ hierarchy of property sources. Consider the following listing:
@ -643,7 +643,7 @@ current `Environment`. The following example shows how to do so:
@@ -643,7 +643,7 @@ current `Environment`. The following example shows how to do so:
@ -123,7 +123,7 @@ The following listing shows the custom `BeanPostProcessor` implementation class
@@ -123,7 +123,7 @@ The following listing shows the custom `BeanPostProcessor` implementation class
@ -205,7 +205,7 @@ The following Java application runs the preceding code and configuration:
@@ -205,7 +205,7 @@ The following Java application runs the preceding code and configuration:
@ -72,7 +72,7 @@ no-argument signature. With Java configuration, you can use the `initMethod` att
@@ -72,7 +72,7 @@ no-argument signature. With Java configuration, you can use the `initMethod` att
@ -107,7 +107,7 @@ The preceding example has almost exactly the same effect as the following exampl
@@ -107,7 +107,7 @@ The preceding example has almost exactly the same effect as the following exampl
@ -221,7 +221,7 @@ The preceding definition has almost exactly the same effect as the following def
@@ -221,7 +221,7 @@ The preceding definition has almost exactly the same effect as the following def
@ -551,7 +551,7 @@ declared on the `ConfigurableApplicationContext` interface, as the following exa
@@ -551,7 +551,7 @@ declared on the `ConfigurableApplicationContext` interface, as the following exa
@ -301,7 +301,7 @@ When using annotation-driven components or Java configuration, you can use the
@@ -301,7 +301,7 @@ When using annotation-driven components or Java configuration, you can use the
@ -626,14 +626,14 @@ destroyed or when the specified object in the scope is destroyed:
@@ -626,14 +626,14 @@ destroyed or when the specified object in the scope is destroyed:
fun registerDestructionCallback(name: String, destructionCallback: Runnable)
----
@ -648,14 +648,14 @@ The following method obtains the conversation identifier for the underlying scop
@@ -648,14 +648,14 @@ The following method obtains the conversation identifier for the underlying scop
@ -677,14 +677,14 @@ method to register a new `Scope` with the Spring container:
@@ -677,14 +677,14 @@ method to register a new `Scope` with the Spring container:
@ -19,7 +19,7 @@ The simplest possible `@Configuration` class reads as follows:
@@ -19,7 +19,7 @@ The simplest possible `@Configuration` class reads as follows:
@ -25,7 +25,7 @@ the method name. The following example shows a `@Bean` method declaration:
@@ -25,7 +25,7 @@ the method name. The following example shows a `@Bean` method declaration:
@ -75,7 +75,7 @@ configurations by implementing interfaces with bean definitions on default metho
@@ -75,7 +75,7 @@ configurations by implementing interfaces with bean definitions on default metho
@ -291,7 +291,7 @@ The following example shows how to prevent an automatic destruction callback for
@@ -291,7 +291,7 @@ The following example shows how to prevent an automatic destruction callback for
@ -517,7 +517,7 @@ The following example shows how to set a number of aliases for a bean:
@@ -517,7 +517,7 @@ The following example shows how to set a number of aliases for a bean:
@ -16,7 +16,7 @@ another configuration class, as the following example shows:
@@ -16,7 +16,7 @@ another configuration class, as the following example shows:
@ -123,7 +123,7 @@ classes, each depending on beans declared in the others:
@@ -123,7 +123,7 @@ classes, each depending on beans declared in the others:
@ -234,7 +234,7 @@ The following example shows how one bean can be autowired to another bean:
@@ -234,7 +234,7 @@ The following example shows how one bean can be autowired to another bean:
@ -353,7 +353,7 @@ configuration classes themselves. The following example shows how to do so:
@@ -353,7 +353,7 @@ configuration classes themselves. The following example shows how to do so:
@ -570,7 +570,7 @@ method that returns `true` or `false`. For example, the following listing shows
@@ -570,7 +570,7 @@ method that returns `true` or `false`. For example, the following listing shows
override fun matches(context: ConditionContext, metadata: AnnotatedTypeMetadata): Boolean {
// Read the @Profile annotation attributes
@ -649,7 +649,7 @@ The following example shows the `AppConfig` configuration class in Java and Kotl
@@ -649,7 +649,7 @@ The following example shows the `AppConfig` configuration class in Java and Kotl
val ctx = ClassPathXmlApplicationContext("classpath:/com/acme/system-test-config.xml")
@ -794,7 +794,7 @@ annotation to achieve "`Java-centric`" configuration that uses XML as needed:
@@ -794,7 +794,7 @@ annotation to achieve "`Java-centric`" configuration that uses XML as needed:
@ -17,7 +17,7 @@ as having one bean method call another, as the following example shows:
@@ -17,7 +17,7 @@ as having one bean method call another, as the following example shows:
@ -72,7 +72,7 @@ following example shows how to use lookup method injection:
@@ -72,7 +72,7 @@ following example shows how to use lookup method injection:
@ -115,7 +115,7 @@ the abstract `createCommand()` method is overridden in such a way that it looks
@@ -115,7 +115,7 @@ the abstract `createCommand()` method is overridden in such a way that it looks
@ -172,7 +172,7 @@ Consider the following example, which shows a `@Bean` annotated method being cal
@@ -172,7 +172,7 @@ Consider the following example, which shows a `@Bean` annotated method being cal
@ -27,7 +27,7 @@ XML-free usage of the Spring container, as the following example shows:
@@ -27,7 +27,7 @@ XML-free usage of the Spring container, as the following example shows:
@ -58,7 +58,7 @@ as input to the constructor, as the following example shows:
@@ -58,7 +58,7 @@ as input to the constructor, as the following example shows:
@ -136,7 +136,7 @@ To enable component scanning, you can annotate your `@Configuration` class as fo
@@ -136,7 +136,7 @@ To enable component scanning, you can annotate your `@Configuration` class as fo
@ -33,7 +33,7 @@ Instead of `@Autowired`, you can use `@jakarta.inject.Inject` as follows:
@@ -33,7 +33,7 @@ Instead of `@Autowired`, you can use `@jakarta.inject.Inject` as follows:
@ -131,7 +131,7 @@ you should use the `@Named` annotation, as the following example shows:
@@ -131,7 +131,7 @@ you should use the `@Named` annotation, as the following example shows:
@ -190,7 +190,7 @@ a `required` attribute. The following pair of examples show how to use `@Inject`
@@ -190,7 +190,7 @@ a `required` attribute. The following pair of examples show how to use `@Inject`
@ -269,7 +269,7 @@ It is very common to use `@Component` without specifying a name for the componen
@@ -269,7 +269,7 @@ It is very common to use `@Component` without specifying a name for the componen
@ -313,7 +313,7 @@ exact same way as when you use Spring annotations, as the following example show
@@ -313,7 +313,7 @@ exact same way as when you use Spring annotations, as the following example show
@ -144,7 +144,7 @@ a serialization error occurs while populating the buffer with data. For example:
@@ -144,7 +144,7 @@ a serialization error occurs while populating the buffer with data. For example:
@ -110,7 +110,7 @@ The following example shows how to use dot notation to get the length of a strin
@@ -110,7 +110,7 @@ The following example shows how to use dot notation to get the length of a strin
@ -275,7 +275,7 @@ being placed in it. The following example shows how to do so.
@@ -275,7 +275,7 @@ being placed in it. The following example shows how to do so.
@ -9,7 +9,7 @@ This section lists the classes used in the examples throughout this chapter.
@@ -9,7 +9,7 @@ This section lists the classes used in the examples throughout this chapter.
@ -8,7 +8,7 @@ to have the array populated at construction time. The following example shows ho
@@ -8,7 +8,7 @@ to have the array populated at construction time. The following example shows ho
@ -12,7 +12,7 @@ selection lets us easily get a list of Serbian inventors, as the following examp
@@ -12,7 +12,7 @@ selection lets us easily get a list of Serbian inventors, as the following examp
@ -10,7 +10,7 @@ qualified class name for all types except those located in the `java.lang` packa
@@ -10,7 +10,7 @@ qualified class name for all types except those located in the `java.lang` packa
@ -51,7 +51,7 @@ For example, consider the following utility method that reverses a string:
@@ -51,7 +51,7 @@ For example, consider the following utility method that reverses a string:
@ -77,7 +77,7 @@ You can register and use the preceding method, as the following example shows:
@@ -77,7 +77,7 @@ You can register and use the preceding method, as the following example shows:
@ -7,7 +7,7 @@ You can directly express lists in an expression by using `{}` notation.
@@ -7,7 +7,7 @@ You can directly express lists in an expression by using `{}` notation.
@ -19,7 +19,7 @@ The following example shows how to use the Elvis operator:
@@ -19,7 +19,7 @@ The following example shows how to use the Elvis operator:
@ -27,7 +27,7 @@ The following example shows how to use the safe navigation operator for property
@@ -27,7 +27,7 @@ The following example shows how to use the safe navigation operator for property
@ -8,7 +8,7 @@ the expression. The following listing shows a minimal example:
@@ -8,7 +8,7 @@ the expression. The following listing shows a minimal example:
@ -24,7 +24,7 @@ The following listing shows a few examples of relational operators:
@@ -24,7 +24,7 @@ The following listing shows a few examples of relational operators:
@ -195,7 +195,7 @@ The following example shows how to use the logical operators:
@@ -195,7 +195,7 @@ The following example shows how to use the logical operators:
@ -277,7 +277,7 @@ The following example shows the `String` operators in use:
@@ -277,7 +277,7 @@ The following example shows the `String` operators in use:
@ -358,7 +358,7 @@ The following example shows the mathematical operators in use:
@@ -358,7 +358,7 @@ The following example shows the mathematical operators in use:
val context = SimpleEvaluationContext.forReadWriteDataBinding().build()
@ -541,7 +541,7 @@ For example, if we want to overload the `ADD` operator to allow two lists to be
@@ -541,7 +541,7 @@ For example, if we want to overload the `ADD` operator to allow two lists to be
concatenated using the `+` sign, we can implement a custom `OperatorOverloader` as
val year = parser.parseExpression("birthdate.year + 1900").getValue(context) as Int
@ -74,7 +74,7 @@ the collection using its `Iterator` and returning the n^th^ element encountered.
@@ -74,7 +74,7 @@ the collection using its `Iterator` and returning the n^th^ element encountered.
val context = SimpleEvaluationContext.forReadOnlyDataBinding().build()
@ -138,7 +138,7 @@ NOTE: The n^th^ character of a string will evaluate to a `java.lang.String`, not
@@ -138,7 +138,7 @@ NOTE: The n^th^ character of a string will evaluate to a `java.lang.String`, not
// Create an inventor to use as the root context object.
val tesla = Inventor("Nikola Tesla")
@ -325,7 +325,7 @@ into a `FruitMap` and then index into the `FruitMap` within a SpEL expression.
@@ -325,7 +325,7 @@ into a `FruitMap` and then index into the `FruitMap` within a SpEL expression.
@ -280,14 +280,14 @@ snippet of code was run against a `ClassPathXmlApplicationContext` instance:
@@ -280,14 +280,14 @@ snippet of code was run against a `ClassPathXmlApplicationContext` instance:
val template = ctx.getResource("classpath:some/resource/path/myTemplate.txt")
----
@ -329,14 +329,14 @@ Similarly, you can force a `UrlResource` to be used by specifying any of the sta
@@ -329,14 +329,14 @@ Similarly, you can force a `UrlResource` to be used by specifying any of the sta
class MyBean(@Value("\${templates.path}") private val templates: Resource[])
@ -657,14 +657,14 @@ specific application context. For example, consider the following example, which
@@ -657,14 +657,14 @@ specific application context. For example, consider the following example, which
val ctx = ClassPathXmlApplicationContext("conf/appContext.xml")
----
@ -677,7 +677,7 @@ used. However, consider the following example, which creates a `FileSystemXmlApp
@@ -677,7 +677,7 @@ used. However, consider the following example, which creates a `FileSystemXmlApp
val ctx = ClassPathXmlApplicationContext(arrayOf("services.xml", "repositories.xml"), MessengerService::class.java)
----
@ -843,7 +843,7 @@ special `classpath*:` prefix, as the following example shows:
@@ -843,7 +843,7 @@ special `classpath*:` prefix, as the following example shows:
val ctx = ClassPathXmlApplicationContext("classpath*:conf/appContext.xml")
----
@ -955,7 +955,7 @@ In practice, this means the following examples are equivalent:
@@ -955,7 +955,7 @@ In practice, this means the following examples are equivalent:
@ -199,7 +199,7 @@ the properties of instantiated ``Company``s and ``Employee``s:
@@ -199,7 +199,7 @@ the properties of instantiated ``Company``s and ``Employee``s:
@ -379,7 +379,7 @@ associates a `CustomNumberEditor` with the `age` property of the `Something` cla
@@ -379,7 +379,7 @@ associates a `CustomNumberEditor` with the `age` property of the `Something` cla
@ -467,7 +467,7 @@ another class called `DependsOnExoticType`, which needs `ExoticType` set as a pr
@@ -467,7 +467,7 @@ another class called `DependsOnExoticType`, which needs `ExoticType` set as a pr
@ -522,7 +522,7 @@ The `PropertyEditor` implementation could look similar to the following:
@@ -522,7 +522,7 @@ The `PropertyEditor` implementation could look similar to the following:
@ -593,7 +593,7 @@ The following example shows how to create your own `PropertyEditorRegistrar` imp
@@ -593,7 +593,7 @@ The following example shows how to create your own `PropertyEditorRegistrar` imp
@ -661,7 +661,7 @@ example uses a `PropertyEditorRegistrar` in the implementation of an `@InitBinde
@@ -661,7 +661,7 @@ example uses a `PropertyEditorRegistrar` in the implementation of an `@InitBinde
@ -20,7 +20,7 @@ Consider the following example, which shows a simple `PersonForm` model with two
@@ -20,7 +20,7 @@ Consider the following example, which shows a simple `PersonForm` model with two
@ -45,7 +45,7 @@ Bean Validation lets you declare constraints as the following example shows:
@@ -45,7 +45,7 @@ Bean Validation lets you declare constraints as the following example shows:
@ -226,7 +226,7 @@ The following example shows a custom `@Constraint` declaration followed by an as
@@ -226,7 +226,7 @@ The following example shows a custom `@Constraint` declaration followed by an as
internal data class Person(@Size(min = 1, max = 10) val name: String)
@ -389,7 +389,7 @@ message argument `"name"` is itself a `MessageSourceResolvable` with error codes
@@ -389,7 +389,7 @@ message argument `"name"` is itself a `MessageSourceResolvable` with error codes
Size.person.name=Please, provide a {0} that is between {2} and {1} characters long
person.name=username
@ -406,7 +406,7 @@ To customize the above default message, you can add a property such as:
@@ -406,7 +406,7 @@ To customize the above default message, you can add a property such as:
@ -263,7 +263,7 @@ it like you would for any other bean. The following example shows how to do so:
@@ -263,7 +263,7 @@ it like you would for any other bean. The following example shows how to do so:
@ -83,7 +83,7 @@ The following `DateFormatter` is an example `Formatter` implementation:
@@ -83,7 +83,7 @@ The following `DateFormatter` is an example `Formatter` implementation:
class DateFormatter(private val pattern: String) : Formatter<Date> {
@ -180,7 +180,7 @@ annotation to a formatter to let a number style or pattern be specified:
@@ -180,7 +180,7 @@ annotation to a formatter to let a number style or pattern be specified:
@field:NumberFormat(style = Style.CURRENCY) private val decimal: BigDecimal
@ -292,7 +292,7 @@ The following example uses `@DateTimeFormat` to format a `java.util.Date` as an
@@ -292,7 +292,7 @@ The following example uses `@DateTimeFormat` to format a `java.util.Date` as an
@ -89,7 +89,7 @@ annotations. The following example works for a JPA repository:
@@ -89,7 +89,7 @@ annotations. The following example works for a JPA repository:
class HibernateMovieFinder(private val sessionFactory: SessionFactory) : MovieFinder {
@ -160,7 +160,7 @@ and other data access support classes (such as `SimpleJdbcCall` and others) by u
@@ -160,7 +160,7 @@ and other data access support classes (such as `SimpleJdbcCall` and others) by u
class JdbcActorDao(dataSource: DataSource) : ActorDao {
@ -104,7 +104,7 @@ The following example shows a batch update using named parameters:
@@ -104,7 +104,7 @@ The following example shows a batch update using named parameters:
class JdbcActorDao(dataSource: DataSource) : ActorDao {
@ -254,7 +254,7 @@ The following example shows a batch update that uses a batch size of 100:
@@ -254,7 +254,7 @@ The following example shows a batch update that uses a batch size of 100:
@ -62,14 +62,14 @@ The following query gets the number of rows in a relation:
@@ -62,14 +62,14 @@ The following query gets the number of rows in a relation:
val lastName = this.jdbcTemplate.queryForObject<String>(
"select last_name from t_actor where id = ?",
@ -126,7 +126,7 @@ The following query finds and populates a single domain object:
@@ -126,7 +126,7 @@ The following query finds and populates a single domain object:
"select first_name, last_name from t_actor where id = ?",
@ -157,7 +157,7 @@ The following query finds and populates a list of domain objects:
@@ -157,7 +157,7 @@ The following query finds and populates a list of domain objects:
@ -187,7 +187,7 @@ For example, it may be better to write the preceding code snippet as follows:
@@ -187,7 +187,7 @@ For example, it may be better to write the preceding code snippet as follows:
@ -398,7 +398,7 @@ parameters. The following example shows how to use `NamedParameterJdbcTemplate`:
@@ -398,7 +398,7 @@ parameters. The following example shows how to use `NamedParameterJdbcTemplate`:
private val namedParameterJdbcTemplate = NamedParameterJdbcTemplate(dataSource)
@ -443,7 +443,7 @@ The following example shows the use of the `Map`-based style:
@@ -443,7 +443,7 @@ The following example shows the use of the `Map`-based style:
private val namedParameterJdbcTemplate = NamedParameterJdbcTemplate(dataSource)
@ -746,7 +746,7 @@ You can extend `SQLErrorCodeSQLExceptionTranslator`, as the following example sh
@@ -746,7 +746,7 @@ You can extend `SQLErrorCodeSQLExceptionTranslator`, as the following example sh
@ -897,7 +897,7 @@ query methods, one for an `int` and one that queries for a `String`:
@@ -897,7 +897,7 @@ query methods, one for an `int` and one that queries for a `String`:
private val jdbcTemplate = JdbcTemplate(dataSource)
@ -992,7 +992,7 @@ The following example updates a column for a certain primary key:
@@ -992,7 +992,7 @@ The following example updates a column for a certain primary key:
@ -76,7 +76,7 @@ to customize them if necessary. The following example uses H2 with a custom driv
@@ -76,7 +76,7 @@ to customize them if necessary. The following example uses H2 with a custom driv
@ -44,7 +44,7 @@ data from the `t_actor` relation to an instance of the `Actor` class:
@@ -44,7 +44,7 @@ data from the `t_actor` relation to an instance of the `Actor` class:
fun searchForActors(age: Int, namePattern: String) =
actorSearchMappingQuery.execute(age, namePattern)
@ -171,7 +171,7 @@ The following example creates a custom update method named `execute`:
@@ -171,7 +171,7 @@ The following example creates a custom update method named `execute`:
@ -537,7 +537,7 @@ delegate to the untyped `execute(Map)` method in the superclass, as the followin
@@ -537,7 +537,7 @@ delegate to the untyped `execute(Map)` method in the superclass, as the followin
@ -67,7 +67,7 @@ The following example shows how to create and insert a BLOB:
@@ -67,7 +67,7 @@ The following example shows how to create and insert a BLOB:
@ -23,7 +23,7 @@ example uses only one configuration method (we show examples of multiple methods
@@ -23,7 +23,7 @@ example uses only one configuration method (we show examples of multiple methods
class JdbcActorDao(dataSource: DataSource) : ActorDao {
@ -150,7 +150,7 @@ You can limit the columns for an insert by specifying a list of column names wit
@@ -150,7 +150,7 @@ You can limit the columns for an insert by specifying a list of column names wit
class JdbcActorDao(dataSource: DataSource) : ActorDao {
@ -217,7 +217,7 @@ values. The following example shows how to use `BeanPropertySqlParameterSource`:
@@ -217,7 +217,7 @@ values. The following example shows how to use `BeanPropertySqlParameterSource`:
class JdbcActorDao(dataSource: DataSource) : ActorDao {
@ -267,7 +267,7 @@ convenient `addValue` method that can be chained. The following example shows ho
@@ -267,7 +267,7 @@ convenient `addValue` method that can be chained. The following example shows ho
class JdbcActorDao(dataSource: DataSource) : ActorDao {
@ -437,7 +437,7 @@ the constructor of your `SimpleJdbcCall`. The following example shows this confi
@@ -437,7 +437,7 @@ the constructor of your `SimpleJdbcCall`. The following example shows this confi
@ -65,7 +65,7 @@ examples (one for Java configuration and one for XML configuration) show how to
@@ -65,7 +65,7 @@ examples (one for Java configuration and one for XML configuration) show how to
@ -105,7 +105,7 @@ implementation resembles the following example, based on the plain Hibernate API
@@ -105,7 +105,7 @@ implementation resembles the following example, based on the plain Hibernate API
class ProductDaoImpl(private val sessionFactory: SessionFactory) : ProductDao {
@ -208,7 +208,7 @@ these annotated methods. The following example shows how to do so:
@@ -208,7 +208,7 @@ these annotated methods. The following example shows how to do so:
@ -299,7 +299,7 @@ shows a plain JPA DAO implementation that uses the `@PersistenceUnit` annotation
@@ -299,7 +299,7 @@ shows a plain JPA DAO implementation that uses the `@PersistenceUnit` annotation
@ -394,7 +394,7 @@ EntityManager) to be injected instead of the factory. The following example show
@@ -394,7 +394,7 @@ EntityManager) to be injected instead of the factory. The following example show
@ -210,7 +210,7 @@ constructs a Spring application context and calls these two methods:
@@ -210,7 +210,7 @@ constructs a Spring application context and calls these two methods:
@ -68,14 +68,14 @@ The simplest way to create a `DatabaseClient` object is through a static factory
@@ -68,14 +68,14 @@ The simplest way to create a `DatabaseClient` object is through a static factory
client.sql("CREATE TABLE person (id VARCHAR(255) PRIMARY KEY, name VARCHAR(255), age INTEGER);")
.await()
@ -170,7 +170,7 @@ The following query gets the `id` and `name` columns from a table:
@@ -170,7 +170,7 @@ The following query gets the `id` and `name` columns from a table:
val first = client.sql("SELECT id, name FROM person WHERE first_name = :fn")
.bind("fn", "Joe")
@ -237,7 +237,7 @@ The following example extracts the `name` column and emits its value:
@@ -237,7 +237,7 @@ The following example extracts the `name` column and emits its value:
val affectedRows = client.sql("UPDATE person SET first_name = :fn")
.bind("fn", "Joe")
@ -421,7 +421,7 @@ The preceding query can be parameterized and run as follows:
@@ -421,7 +421,7 @@ The preceding query can be parameterized and run as follows:
@ -452,7 +452,7 @@ The following example shows a simpler variant using `IN` predicates:
@@ -452,7 +452,7 @@ The following example shows a simpler variant using `IN` predicates:
client.sql("SELECT id, name, state FROM table WHERE age IN (:ages)")
.bind("ages", arrayOf(35, 50))
@ -487,7 +487,7 @@ modify statements in their execution, as the following example shows:
@@ -487,7 +487,7 @@ modify statements in their execution, as the following example shows:
@ -556,7 +556,7 @@ the setter for the `ConnectionFactory`. This leads to DAOs that resemble the fol
@@ -556,7 +556,7 @@ the setter for the `ConnectionFactory`. This leads to DAOs that resemble the fol
class R2dbcCorporateEventDao(connectionFactory: ConnectionFactory) : CorporateEventDao {
@ -594,7 +594,7 @@ method with `@Autowired`. The following example shows how to do so:
@@ -594,7 +594,7 @@ method with `@Autowired`. The following example shows how to do so:
@ -716,14 +716,14 @@ The following example shows how to configure a `ConnectionFactory`:
@@ -716,14 +716,14 @@ The following example shows how to configure a `ConnectionFactory`:
// the service class that we want to make transactional
@Transactional
@ -138,7 +138,7 @@ programming arrangements as the following listing shows:
@@ -138,7 +138,7 @@ programming arrangements as the following listing shows:
// the reactive service class that we want to make transactional
@Transactional
@ -327,7 +327,7 @@ precedence over the transactional settings defined at the class level.
@@ -327,7 +327,7 @@ precedence over the transactional settings defined at the class level.
@ -620,7 +620,7 @@ The preceding annotations let us write the example from the previous section as
@@ -620,7 +620,7 @@ The preceding annotations let us write the example from the previous section as
@ -22,7 +22,7 @@ The following code shows the simple profiling aspect discussed earlier:
@@ -22,7 +22,7 @@ The following code shows the simple profiling aspect discussed earlier:
@ -24,7 +24,7 @@ The following example shows how to create a transaction manager and configure th
@@ -24,7 +24,7 @@ The following example shows how to create a transaction manager and configure th
// the service interface that we want to make transactional
@ -60,7 +60,7 @@ The following example shows an implementation of the preceding interface:
@@ -60,7 +60,7 @@ The following example shows an implementation of the preceding interface:
// the reactive service interface that we want to make transactional
@ -349,7 +349,7 @@ The following example shows an implementation of the preceding interface:
@@ -349,7 +349,7 @@ The following example shows an implementation of the preceding interface:
@ -30,7 +30,7 @@ Here's an example of how to use Vavr's Try with a transactional method:
@@ -30,7 +30,7 @@ Here's an example of how to use Vavr's Try with a transactional method:
@ -54,7 +54,7 @@ preferring exposure in the returned handle rather than rethrowing an exception:
@@ -54,7 +54,7 @@ preferring exposure in the returned handle rather than rethrowing an exception:
@ -37,7 +37,7 @@ a transaction. You can then pass an instance of your custom `TransactionCallback
@@ -37,7 +37,7 @@ a transaction. You can then pass an instance of your custom `TransactionCallback
override fun doInTransactionWithoutResult(status: TransactionStatus) {
@ -118,7 +118,7 @@ Code within the callback can roll the transaction back by calling the
@@ -118,7 +118,7 @@ Code within the callback can roll the transaction back by calling the
// use constructor-injection to supply the ReactiveTransactionManager
class SimpleService(transactionManager: ReactiveTransactionManager) : Service {
@ -293,7 +293,7 @@ method on the supplied `ReactiveTransaction` object, as follows:
@@ -293,7 +293,7 @@ method on the supplied `ReactiveTransaction` object, as follows:
@ -346,7 +346,7 @@ following example shows customization of the transactional settings for a specif
@@ -346,7 +346,7 @@ following example shows customization of the transactional settings for a specif
@ -28,7 +28,7 @@ The following sample shows how to create a default `RestClient`, and how to buil
@@ -28,7 +28,7 @@ The following sample shows how to create a default `RestClient`, and how to buil
@ -77,7 +77,7 @@ The following example configures a GET request to `https://example.com/orders/42
@@ -77,7 +77,7 @@ The following example configures a GET request to `https://example.com/orders/42
@ -125,7 +125,7 @@ This sample shows how `RestClient` can be used to perform a simple `GET` request
@@ -125,7 +125,7 @@ This sample shows how `RestClient` can be used to perform a simple `GET` request
@ -164,7 +164,7 @@ Access to the response status code and headers is provided through `ResponseEnti
@@ -164,7 +164,7 @@ Access to the response status code and headers is provided through `ResponseEnti
@ -204,7 +204,7 @@ Note the usage of URI variables in this sample and that the `Accept` header is s
@@ -204,7 +204,7 @@ Note the usage of URI variables in this sample and that the `Accept` header is s
@ -239,7 +239,7 @@ In the next sample, `RestClient` is used to perform a POST request that contains
@@ -239,7 +239,7 @@ In the next sample, `RestClient` is used to perform a POST request that contains
@ -322,7 +322,7 @@ Status handlers are not applied when use `exchange()`, because the exchange func
@@ -322,7 +322,7 @@ Status handlers are not applied when use `exchange()`, because the exchange func
@ -186,7 +186,7 @@ This is the most basic way to connect with default settings:
@@ -186,7 +186,7 @@ This is the most basic way to connect with default settings:
@ -288,7 +288,7 @@ infrastructure that's used on a server, but registered programmatically as follo
@@ -288,7 +288,7 @@ infrastructure that's used on a server, but registered programmatically as follo
@ -335,7 +335,7 @@ you can still declare `RSocketMessageHandler` as a Spring bean and then apply as
@@ -335,7 +335,7 @@ you can still declare `RSocketMessageHandler` as a Spring bean and then apply as
@ -464,7 +464,7 @@ xref:rsocket.adoc#rsocket-requester-server[server] requester, you can make reque
@@ -464,7 +464,7 @@ xref:rsocket.adoc#rsocket-requester-server[server] requester, you can make reque
@ -516,7 +516,7 @@ The `data(Object)` step is optional. Skip it for requests that don't send data:
@@ -516,7 +516,7 @@ The `data(Object)` step is optional. Skip it for requests that don't send data:
@ -541,7 +541,7 @@ values are supported by a registered `Encoder`. For example:
@@ -541,7 +541,7 @@ values are supported by a registered `Encoder`. For example:
@ -636,7 +636,7 @@ Then start an RSocket server through the Java RSocket API and plug the
@@ -636,7 +636,7 @@ Then start an RSocket server through the Java RSocket API and plug the
@ -684,7 +684,7 @@ you need to share configuration between a client and a server in the same proces
@@ -684,7 +684,7 @@ you need to share configuration between a client and a server in the same proces
@ -999,7 +999,7 @@ map. Here is an example where JSON is used for metadata:
@@ -999,7 +999,7 @@ map. Here is an example where JSON is used for metadata:
@ -1031,7 +1031,7 @@ simply use a callback to customize registrations as follows:
@@ -1031,7 +1031,7 @@ simply use a callback to customize registrations as follows:
@ -274,7 +274,7 @@ example, you can create a custom `@EnabledOnMac` annotation as follows:
@@ -274,7 +274,7 @@ example, you can create a custom `@EnabledOnMac` annotation as follows:
@ -340,7 +340,7 @@ example, you can create a custom `@DisabledOnMac` annotation as follows:
@@ -340,7 +340,7 @@ example, you can create a custom `@DisabledOnMac` annotation as follows:
@ -31,7 +31,7 @@ The following example shows a test that has an `@IfProfileValue` annotation:
@@ -31,7 +31,7 @@ The following example shows a test that has an `@IfProfileValue` annotation:
@ -101,7 +101,7 @@ is used by default. The following example shows how to use
@@ -101,7 +101,7 @@ is used by default. The following example shows how to use
@ -183,7 +183,7 @@ following example shows how to use the `@Repeat` annotation:
@@ -183,7 +183,7 @@ following example shows how to use the `@Repeat` annotation:
@ -84,7 +84,7 @@ that centralizes the common test configuration for Spring, as follows:
@@ -84,7 +84,7 @@ that centralizes the common test configuration for Spring, as follows:
@ -114,7 +114,7 @@ configuration of individual JUnit 4 based test classes, as follows:
@@ -114,7 +114,7 @@ configuration of individual JUnit 4 based test classes, as follows:
@ -221,7 +221,7 @@ configuration of individual JUnit Jupiter based test classes, as follows:
@@ -221,7 +221,7 @@ configuration of individual JUnit Jupiter based test classes, as follows:
@ -283,7 +283,7 @@ configuration of individual JUnit Jupiter based test methods, as follows:
@@ -283,7 +283,7 @@ configuration of individual JUnit Jupiter based test methods, as follows:
@ -11,7 +11,7 @@ The following example indicates that the `dev` profile should be active:
@@ -11,7 +11,7 @@ The following example indicates that the `dev` profile should be active:
@ -13,7 +13,7 @@ The following example shows how to use the `@BeforeTransaction` annotation:
@@ -13,7 +13,7 @@ The following example shows how to use the `@BeforeTransaction` annotation:
@ -13,7 +13,7 @@ The following example shows how to use the `@Commit` annotation:
@@ -13,7 +13,7 @@ The following example shows how to use the `@Commit` annotation: