Stop referring to old Spring versions in Javadoc

This commit is contained in:
Sam Brannen 2024-07-01 17:50:52 +02:00
parent e427ac2683
commit 932ce04541
26 changed files with 100 additions and 107 deletions

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2023 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -54,18 +54,17 @@ import java.lang.annotation.Target;
* *
* <h3>Autowired Parameters</h3> * <h3>Autowired Parameters</h3>
* <p>Although {@code @Autowired} can technically be declared on individual method * <p>Although {@code @Autowired} can technically be declared on individual method
* or constructor parameters since Spring Framework 5.0, most parts of the * or constructor parameters, most parts of the framework ignore such declarations.
* framework ignore such declarations. The only part of the core Spring Framework * The only part of the core Spring Framework that actively supports autowired
* that actively supports autowired parameters is the JUnit Jupiter support in * parameters is the JUnit Jupiter support in the {@code spring-test} module (see the
* the {@code spring-test} module (see the
* <a href="https://docs.spring.io/spring/docs/current/spring-framework-reference/testing.html#testcontext-junit-jupiter-di">TestContext framework</a> * <a href="https://docs.spring.io/spring/docs/current/spring-framework-reference/testing.html#testcontext-junit-jupiter-di">TestContext framework</a>
* reference documentation for details). * reference documentation for details).
* *
* <h3>Multiple Arguments and 'required' Semantics</h3> * <h3>Multiple Arguments and 'required' Semantics</h3>
* <p>In the case of a multi-arg constructor or method, the {@link #required} attribute * <p>In the case of a multi-arg constructor or method, the {@link #required} attribute
* is applicable to all arguments. Individual parameters may be declared as Java-8 style * is applicable to all arguments. Individual parameters may be declared as Java-8 style
* {@link java.util.Optional} or, as of Spring Framework 5.0, also as {@code @Nullable} * {@link java.util.Optional} as well as {@code @Nullable} or a not-null parameter
* or a not-null parameter type in Kotlin, overriding the base 'required' semantics. * type in Kotlin, overriding the base 'required' semantics.
* *
* <h3>Autowiring Arrays, Collections, and Maps</h3> * <h3>Autowiring Arrays, Collections, and Maps</h3>
* <p>In case of an array, {@link java.util.Collection}, or {@link java.util.Map} * <p>In case of an array, {@link java.util.Collection}, or {@link java.util.Map}

View File

@ -224,8 +224,8 @@ public interface ConfigurableApplicationContext extends ApplicationContext, Life
* on JVM shutdown unless it has already been closed at that time. * on JVM shutdown unless it has already been closed at that time.
* <p>This method can be called multiple times. Only one shutdown hook * <p>This method can be called multiple times. Only one shutdown hook
* (at max) will be registered for each context instance. * (at max) will be registered for each context instance.
* <p>As of Spring Framework 5.2, the {@linkplain Thread#getName() name} of * <p>The {@linkplain Thread#getName() name} of the shutdown hook thread
* the shutdown hook thread should be {@link #SHUTDOWN_HOOK_THREAD_NAME}. * should be {@link #SHUTDOWN_HOOK_THREAD_NAME}.
* @see java.lang.Runtime#addShutdownHook * @see java.lang.Runtime#addShutdownHook
* @see #close() * @see #close()
*/ */

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2017 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -30,7 +30,7 @@ import org.springframework.util.ClassUtils;
* {@link LoadTimeWeaver} implementation for GlassFish's * {@link LoadTimeWeaver} implementation for GlassFish's
* {@code org.glassfish.api.deployment.InstrumentableClassLoader InstrumentableClassLoader}. * {@code org.glassfish.api.deployment.InstrumentableClassLoader InstrumentableClassLoader}.
* *
* <p>As of Spring Framework 5.0, this weaver supports GlassFish 4+. * <p>This weaver supports GlassFish 4+.
* *
* @author Costin Leau * @author Costin Leau
* @author Juergen Hoeller * @author Juergen Hoeller

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2019 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -31,8 +31,7 @@ import org.springframework.util.ReflectionUtils;
* {@link LoadTimeWeaver} implementation for JBoss's instrumentable ClassLoader. * {@link LoadTimeWeaver} implementation for JBoss's instrumentable ClassLoader.
* Thanks to Ales Justin and Marius Bogoevici for the initial prototype. * Thanks to Ales Justin and Marius Bogoevici for the initial prototype.
* *
* <p>As of Spring Framework 5.0, this weaver supports WildFly 8+. * <p>This weaver supports WildFly 13+.
* As of Spring Framework 5.1.5, it also supports WildFly 13+.
* *
* @author Costin Leau * @author Costin Leau
* @author Juergen Hoeller * @author Juergen Hoeller

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2023 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -295,8 +295,8 @@ public class ScheduledTaskRegistrar implements ScheduledTaskHolder, Initializing
/** /**
* Add a {@link Runnable} task to be triggered per the given cron {@code expression}. * Add a {@link Runnable} task to be triggered per the given cron {@code expression}.
* <p>As of Spring Framework 5.2, this method will not register the task if the * <p>This method will not register the task if the {@code expression} is
* {@code expression} is equal to {@link #CRON_DISABLED}. * equal to {@link #CRON_DISABLED}.
*/ */
public void addCronTask(Runnable task, String expression) { public void addCronTask(Runnable task, String expression) {
if (!CRON_DISABLED.equals(expression)) { if (!CRON_DISABLED.equals(expression)) {

View File

@ -549,11 +549,10 @@ public class DataBinder implements PropertyEditorRegistry, TypeConverter {
* well as direct equality. * well as direct equality.
* <p>The default implementation of this method stores disallowed field patterns * <p>The default implementation of this method stores disallowed field patterns
* in {@linkplain PropertyAccessorUtils#canonicalPropertyName(String) canonical} * in {@linkplain PropertyAccessorUtils#canonicalPropertyName(String) canonical}
* form. As of Spring Framework 5.2.21, the default implementation also transforms * form and also transforms disallowed field patterns to
* disallowed field patterns to {@linkplain String#toLowerCase() lowercase} to * {@linkplain String#toLowerCase() lowercase} to support case-insensitive
* support case-insensitive pattern matching in {@link #isAllowed}. Subclasses * pattern matching in {@link #isAllowed}. Subclasses which override this
* which override this method must therefore take both of these transformations * method must therefore take both of these transformations into account.
* into account.
* <p>More sophisticated matching can be implemented by overriding the * <p>More sophisticated matching can be implemented by overriding the
* {@link #isAllowed} method. * {@link #isAllowed} method.
* <p>Alternatively, specify a list of <i>allowed</i> field patterns. * <p>Alternatively, specify a list of <i>allowed</i> field patterns.

View File

@ -69,7 +69,7 @@ import org.springframework.validation.method.ParameterValidationResult;
* at the type level of the containing target class, applying to all public service methods * at the type level of the containing target class, applying to all public service methods
* of that class. By default, JSR-303 will validate against its default group only. * of that class. By default, JSR-303 will validate against its default group only.
* *
* <p>As of Spring 5.0, this functionality requires a Bean Validation 1.1+ provider. * <p>This functionality requires a Bean Validation 1.1+ provider.
* *
* @author Juergen Hoeller * @author Juergen Hoeller
* @author Rossen Stoyanchev * @author Rossen Stoyanchev

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2023 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -60,7 +60,7 @@ import org.springframework.validation.method.MethodValidationResult;
* inline constraint annotations. Validation groups can be specified through {@code @Validated} * inline constraint annotations. Validation groups can be specified through {@code @Validated}
* as well. By default, JSR-303 will validate against its default group only. * as well. By default, JSR-303 will validate against its default group only.
* *
* <p>As of Spring 5.0, this functionality requires a Bean Validation 1.1+ provider. * <p>This functionality requires a Bean Validation 1.1+ provider.
* *
* @author Juergen Hoeller * @author Juergen Hoeller
* @since 3.1 * @since 3.1

View File

@ -55,8 +55,7 @@ import org.springframework.validation.SmartValidator;
* {@link CustomValidatorBean} and {@link LocalValidatorFactoryBean}, * {@link CustomValidatorBean} and {@link LocalValidatorFactoryBean},
* and as the primary implementation of the {@link SmartValidator} interface. * and as the primary implementation of the {@link SmartValidator} interface.
* *
* <p>As of Spring Framework 5.0, this adapter is fully compatible with * <p>This adapter is fully compatible with Bean Validation 1.1 as well as 2.0.
* Bean Validation 1.1 as well as 2.0.
* *
* @author Juergen Hoeller * @author Juergen Hoeller
* @author Sam Brannen * @author Sam Brannen

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2019 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -25,8 +25,8 @@ import org.springframework.lang.Nullable;
* <p>Note that some ClassLoaders do not expose the package metadata, * <p>Note that some ClassLoaders do not expose the package metadata,
* hence this class might not be able to determine the Spring version * hence this class might not be able to determine the Spring version
* in all environments. Consider using a reflection-based check instead &mdash; * in all environments. Consider using a reflection-based check instead &mdash;
* for example, checking for the presence of a specific Spring 5.2 * for example, checking for the presence of a specific Spring method that you
* method that you intend to call. * intend to call.
* *
* @author Juergen Hoeller * @author Juergen Hoeller
* @since 1.1 * @since 1.1

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2023 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -62,10 +62,9 @@ public interface Profiles {
* without using parentheses. For example, {@code "a & b | c"} is not a valid * without using parentheses. For example, {@code "a & b | c"} is not a valid
* expression: it must be expressed as {@code "(a & b) | c"} or * expression: it must be expressed as {@code "(a & b) | c"} or
* {@code "a & (b | c)"}. * {@code "a & (b | c)"}.
* <p>As of Spring Framework 5.1.17, two {@code Profiles} instances returned * <p>Two {@code Profiles} instances returned by this method are considered
* by this method are considered equivalent to each other (in terms of * equivalent to each other (in terms of {@code equals()} and {@code hashCode()}
* {@code equals()} and {@code hashCode()} semantics) if they are created * semantics) if they are created with identical <em>profile expressions</em>.
* with identical <em>profile expressions</em>.
* @param profileExpressions the <em>profile expressions</em> to include * @param profileExpressions the <em>profile expressions</em> to include
* @return a new {@link Profiles} instance * @return a new {@link Profiles} instance
*/ */

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2023 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -45,10 +45,10 @@ import org.springframework.util.StringUtils;
* Supports resolution as a {@code File} and also as a {@code URL}. * Supports resolution as a {@code File} and also as a {@code URL}.
* Implements the extended {@link WritableResource} interface. * Implements the extended {@link WritableResource} interface.
* *
* <p>Note: As of Spring Framework 5.0, this {@link Resource} implementation uses * <p>Note: This {@link Resource} implementation uses NIO.2 API for read/write
* NIO.2 API for read/write interactions. As of 5.1, it may be constructed with a * interactions and may be constructed with a {@link java.nio.file.Path} handle
* {@link java.nio.file.Path} handle in which case it will perform all file system * in which case it will perform all file system interactions via NIO.2, only
* interactions via NIO.2, only resorting to {@link File} on {@link #getFile()}. * resorting to {@link File} on {@link #getFile()}.
* *
* @author Juergen Hoeller * @author Juergen Hoeller
* @author Sam Brannen * @author Sam Brannen

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2023 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -37,10 +37,10 @@ import org.springframework.lang.Nullable;
* <p>This class is normally used to verify performance during proof-of-concept * <p>This class is normally used to verify performance during proof-of-concept
* work and in development, rather than as part of production applications. * work and in development, rather than as part of production applications.
* *
* <p>As of Spring Framework 5.2, running time is tracked and reported in * <p>Running time is tracked and reported in nanoseconds. As of Spring Framework
* nanoseconds. As of 6.1, the default time unit for String renderings is * 6.1, the default time unit for String renderings is seconds with decimal points
* seconds with decimal points in nanosecond precision. Custom renderings with * in nanosecond precision. Custom renderings with specific time units can be
* specific time units can be requested through {@link #prettyPrint(TimeUnit)}. * requested through {@link #prettyPrint(TimeUnit)}.
* *
* @author Rod Johnson * @author Rod Johnson
* @author Juergen Hoeller * @author Juergen Hoeller

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2021 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -36,10 +36,10 @@ public abstract class DatabasePopulatorUtils {
/** /**
* Execute the given {@link DatabasePopulator} against the given {@link DataSource}. * Execute the given {@link DatabasePopulator} against the given {@link DataSource}.
* <p>As of Spring Framework 5.3.11, the {@link Connection} for the supplied * <p>The {@link Connection} for the supplied {@code DataSource} will be
* {@code DataSource} will be {@linkplain Connection#commit() committed} if * {@linkplain Connection#commit() committed} if it is not configured for
* it is not configured for {@link Connection#getAutoCommit() auto-commit} and * {@link Connection#getAutoCommit() auto-commit} and is not
* is not {@linkplain DataSourceUtils#isConnectionTransactional transactional}. * {@linkplain DataSourceUtils#isConnectionTransactional transactional}.
* @param populator the {@code DatabasePopulator} to execute * @param populator the {@code DatabasePopulator} to execute
* @param dataSource the {@code DataSource} to execute against * @param dataSource the {@code DataSource} to execute against
* @throws DataAccessException if an error occurs, specifically a {@link ScriptException} * @throws DataAccessException if an error occurs, specifically a {@link ScriptException}

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2021 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -54,7 +54,7 @@ import org.springframework.jdbc.support.JdbcUtils;
* "useNewConnection" property to false. In this case you <i>MUST</i> use a non-transactional * "useNewConnection" property to false. In this case you <i>MUST</i> use a non-transactional
* storage engine like MYISAM when defining the incrementer table. * storage engine like MYISAM when defining the incrementer table.
* *
* <p>As of Spring Framework 5.3.7, {@code MySQLMaxValueIncrementer} is compatible with * <p>Note that {@code MySQLMaxValueIncrementer} is compatible with
* <a href="https://dev.mysql.com/doc/refman/8.0/en/mysql-tips.html#safe-updates">MySQL safe updates mode</a>. * <a href="https://dev.mysql.com/doc/refman/8.0/en/mysql-tips.html#safe-updates">MySQL safe updates mode</a>.
* *
* @author Jean-Pierre Pawlak * @author Jean-Pierre Pawlak
@ -104,7 +104,7 @@ public class MySQLMaxValueIncrementer extends AbstractColumnMaxValueIncrementer
* {@code false} is sufficient if the storage engine of the sequence table * {@code false} is sufficient if the storage engine of the sequence table
* is non-transactional (like MYISAM), avoiding the effort of acquiring an * is non-transactional (like MYISAM), avoiding the effort of acquiring an
* extra {@code Connection} for the increment operation. * extra {@code Connection} for the increment operation.
* <p>Default is {@code true} since Spring Framework 5.0. * <p>Default is {@code true}.
* @since 4.3.6 * @since 4.3.6
* @see DataSource#getConnection() * @see DataSource#getConnection()
*/ */

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2023 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -114,9 +114,9 @@ public @interface JmsListener {
/** /**
* The name for the durable subscription, if any. * The name for the durable subscription, if any.
* <p>As of Spring Framework 5.3.26, if an explicit subscription name is not * <p>If an explicit subscription name is not specified, a default subscription
* specified, a default subscription name will be generated based on the fully * name will be generated based on the fully qualified name of the annotated
* qualified name of the annotated listener method &mdash; for example, * listener method &mdash; for example,
* {@code "org.example.jms.ProductListener.processRequest"} for a * {@code "org.example.jms.ProductListener.processRequest"} for a
* {@code processRequest(...)} listener method in the * {@code processRequest(...)} listener method in the
* {@code org.example.jms.ProductListener} class. * {@code org.example.jms.ProductListener} class.

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2023 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -43,7 +43,7 @@ import org.springframework.util.Assert;
* are provided as additional arguments so that these can be injected as * are provided as additional arguments so that these can be injected as
* method arguments if necessary. * method arguments if necessary.
* *
* <p>As of Spring Framework 5.3.26, {@code MessagingMessageListenerAdapter} implements * <p>Note that {@code MessagingMessageListenerAdapter} implements
* {@link SubscriptionNameProvider} in order to provide a meaningful default * {@link SubscriptionNameProvider} in order to provide a meaningful default
* subscription name. See {@link #getSubscriptionName()} for details. * subscription name. See {@link #getSubscriptionName()} for details.
* *

View File

@ -189,11 +189,11 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
/** /**
* Set the JDBC DataSource that this instance should manage transactions for. * Set the JDBC DataSource that this instance should manage transactions for.
* The DataSource should match the one used by the Hibernate SessionFactory: * <p>The DataSource should match the one used by the Hibernate SessionFactory:
* for example, you could specify the same JNDI DataSource for both. * for example, you could specify the same JNDI DataSource for both.
* <p>If the SessionFactory was configured with LocalDataSourceConnectionProvider, * <p>If the SessionFactory was configured with LocalDataSourceConnectionProvider,
* i.e. by Spring's LocalSessionFactoryBean with a specified "dataSource", * i.e. by Spring's LocalSessionFactoryBean with a specified "dataSource",
* the DataSource will be auto-detected: You can still explicitly specify the * the DataSource will be auto-detected. You can still explicitly specify the
* DataSource, but you don't need to in this case. * DataSource, but you don't need to in this case.
* <p>A transactional JDBC Connection for this DataSource will be provided to * <p>A transactional JDBC Connection for this DataSource will be provided to
* application code accessing this DataSource directly via DataSourceUtils * application code accessing this DataSource directly via DataSourceUtils
@ -210,7 +210,7 @@ public class HibernateTransactionManager extends AbstractPlatformTransactionMana
* for the actual target DataSource. Alternatively, consider switching * for the actual target DataSource. Alternatively, consider switching
* {@link #setPrepareConnection "prepareConnection"} to {@code false}.</b> * {@link #setPrepareConnection "prepareConnection"} to {@code false}.</b>
* In both cases, this transaction manager will not eagerly acquire a * In both cases, this transaction manager will not eagerly acquire a
* JDBC Connection for each Hibernate Session anymore (as of Spring 5.1). * JDBC Connection for each Hibernate Session.
* @see #setAutodetectDataSource * @see #setAutodetectDataSource
* @see TransactionAwareDataSourceProxy * @see TransactionAwareDataSourceProxy
* @see org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy * @see org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2023 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -109,9 +109,7 @@ import org.springframework.util.xml.StaxUtils;
* Therefore, it has limited namespace support. As such, it is rather unsuitable for * Therefore, it has limited namespace support. As such, it is rather unsuitable for
* usage within Web Services. * usage within Web Services.
* *
* <p>This marshaller requires XStream 1.4.7 or higher, as of Spring 5.2.17. * <p>This marshaller requires XStream 1.4.7 or higher.
* Note that {@link XStream} construction has been reworked in 4.0, with the
* stream driver and the class loader getting passed into XStream itself now.
* *
* <p>As of Spring Framework 6.0, the default {@link HierarchicalStreamDriver} is * <p>As of Spring Framework 6.0, the default {@link HierarchicalStreamDriver} is
* a {@link DomDriver} that uses the configured {@linkplain #setEncoding(String) * a {@link DomDriver} that uses the configured {@linkplain #setEncoding(String)
@ -641,11 +639,10 @@ public class XStreamMarshaller extends AbstractMarshaller implements BeanClassLo
/** /**
* Return the native XStream delegate used by this marshaller. * Return the native XStream delegate used by this marshaller.
* <p><b>NOTE: This method has been marked as final as of Spring 4.0.</b> * <p>The creation of the {@link XStream} instance returned by this method is
* It can be used to access the fully configured XStream for marshalling * thread safe.
* but not configuration purposes anymore. * <p><b>NOTE: This method is marked as final.</b> It can be used to access
* <p>As of Spring Framework 5.1.16, creation of the {@link XStream} instance * the fully configured XStream for marshalling but not configuration purposes.
* returned by this method is thread safe.
*/ */
public final XStream getXStream() { public final XStream getXStream() {
return this.xstream.obtain(); return this.xstream.obtain();

View File

@ -29,7 +29,7 @@ import java.lang.annotation.Target;
* <em>Spring TestContext Framework</em>. * <em>Spring TestContext Framework</em>.
* *
* <p>This annotation may also be used as a <em>meta-annotation</em> to create * <p>This annotation may also be used as a <em>meta-annotation</em> to create
* custom <em>composed annotations</em>. As of Spring Framework 5.1, a locally * custom <em>composed annotations</em>. Note, however, that a locally
* declared {@code @BootstrapWith} annotation (i.e., one that is <em>directly * declared {@code @BootstrapWith} annotation (i.e., one that is <em>directly
* present</em> on the current test class) will override any meta-present * present</em> on the current test class) will override any meta-present
* declarations of {@code @BootstrapWith}. * declarations of {@code @BootstrapWith}.

View File

@ -46,8 +46,8 @@ import org.springframework.lang.Nullable;
* <p>This annotation may be used as a <em>meta-annotation</em> to create custom * <p>This annotation may be used as a <em>meta-annotation</em> to create custom
* <em>composed annotations</em>. * <em>composed annotations</em>.
* *
* <p>As of Spring Framework 5.2, this annotation is only supported in conjunction * <p>This annotation is only supported in conjunction with the
* with the {@link org.springframework.test.context.junit.jupiter.SpringExtension * {@link org.springframework.test.context.junit.jupiter.SpringExtension
* SpringExtension} for use with JUnit Jupiter. Note that the {@code SpringExtension} is * SpringExtension} for use with JUnit Jupiter. Note that the {@code SpringExtension} is
* often automatically registered for you &mdash; for example, when using annotations such as * often automatically registered for you &mdash; for example, when using annotations such as
* {@link org.springframework.test.context.junit.jupiter.SpringJUnitConfig @SpringJUnitConfig} and * {@link org.springframework.test.context.junit.jupiter.SpringJUnitConfig @SpringJUnitConfig} and

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2023 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -30,13 +30,13 @@ import org.springframework.test.annotation.DirtiesContext.HierarchyMode;
* {@code TestContext} encapsulates the context in which a test is executed, * {@code TestContext} encapsulates the context in which a test is executed,
* agnostic of the actual testing framework in use. * agnostic of the actual testing framework in use.
* *
* <p>As of Spring Framework 5.0, concrete implementations are highly encouraged * <p>Concrete implementations are highly encouraged to implement a <em>copy
* to implement a <em>copy constructor</em> in order to allow the immutable state * constructor</em> in order to allow the immutable state and attributes of a
* and attributes of a {@code TestContext} to be used as a template for additional * {@code TestContext} to be used as a template for additional contexts created
* contexts created for parallel test execution. The copy constructor must accept a * for parallel test execution. The copy constructor must accept a single argument
* single argument of the type of the concrete implementation. Any implementation * of the type of the concrete implementation. Any implementation that does not
* that does not provide a copy constructor will likely fail in an environment * provide a copy constructor will likely fail in an environment that executes
* that executes tests concurrently. * tests concurrently.
* *
* <p>As of Spring Framework 6.1, concrete implementations are highly encouraged to * <p>As of Spring Framework 6.1, concrete implementations are highly encouraged to
* override {@link #setMethodInvoker(MethodInvoker)} and {@link #getMethodInvoker()}. * override {@link #setMethodInvoker(MethodInvoker)} and {@link #getMethodInvoker()}.

View File

@ -60,14 +60,13 @@ import org.springframework.util.StringUtils;
* <h3>Multipart Data</h3> * <h3>Multipart Data</h3>
* *
* <p>By default, {@code "multipart/form-data"} is used as the content type when * <p>By default, {@code "multipart/form-data"} is used as the content type when
* {@linkplain #write writing} multipart data. As of Spring Framework 5.2 it is * {@linkplain #write writing} multipart data. It is also possible to write
* also possible to write multipart data using other multipart subtypes such as * multipart data using other multipart subtypes such as {@code "multipart/mixed"}
* {@code "multipart/mixed"} and {@code "multipart/related"}, as long as the * and {@code "multipart/related"}, as long as the multipart subtype is registered
* multipart subtype is registered as a {@linkplain #getSupportedMediaTypes * as a {@linkplain #getSupportedMediaTypes supported media type} <em>and</em> the
* supported media type} <em>and</em> the desired multipart subtype is specified * desired multipart subtype is specified as the content type when
* as the content type when {@linkplain #write writing} the multipart data. Note * {@linkplain #write writing} the multipart data. Note that {@code "multipart/mixed"}
* that {@code "multipart/mixed"} is registered as a supported media type by * is registered as a supported media type by default.
* default.
* *
* <p>When writing multipart data, this converter uses other * <p>When writing multipart data, this converter uses other
* {@link HttpMessageConverter HttpMessageConverters} to write the respective * {@link HttpMessageConverter HttpMessageConverters} to write the respective

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2023 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -220,9 +220,8 @@ public class ControllerAdviceBean implements Ordered {
/** /**
* Get the bean instance for this {@code ControllerAdviceBean}, if necessary * Get the bean instance for this {@code ControllerAdviceBean}, if necessary
* resolving the bean name through the {@link BeanFactory}. * resolving the bean name through the {@link BeanFactory}.
* <p>As of Spring Framework 5.2, once the bean instance has been resolved it * <p>Once the bean instance has been resolved it will be cached if it is a
* will be cached if it is a singleton, thereby avoiding repeated lookups in * singleton, thereby avoiding repeated lookups in the {@code BeanFactory}.
* the {@code BeanFactory}.
*/ */
public Object resolveBean() { public Object resolveBean() {
if (this.resolvedBean == null) { if (this.resolvedBean == null) {
@ -276,8 +275,8 @@ public class ControllerAdviceBean implements Ordered {
* Find beans annotated with {@link ControllerAdvice @ControllerAdvice} in the * Find beans annotated with {@link ControllerAdvice @ControllerAdvice} in the
* given {@link ApplicationContext} and wrap them as {@code ControllerAdviceBean} * given {@link ApplicationContext} and wrap them as {@code ControllerAdviceBean}
* instances. * instances.
* <p>As of Spring Framework 5.2, the {@code ControllerAdviceBean} instances * <p>Note that the {@code ControllerAdviceBean} instances in the returned list
* in the returned list are sorted using {@link OrderComparator#sort(List)}. * are sorted using {@link OrderComparator#sort(List)}.
* @see #getOrder() * @see #getOrder()
* @see OrderComparator * @see OrderComparator
* @see Ordered * @see Ordered

View File

@ -41,23 +41,25 @@ import org.springframework.web.multipart.MultipartRequest;
import org.springframework.web.servlet.support.RequestContextUtils; import org.springframework.web.servlet.support.RequestContextUtils;
/** /**
* Resolves servlet backed request-related method arguments. Supports values of the * Resolves servlet backed request-related method arguments.
* following types: *
* <p>Supports values of the following types:
*
* <ul> * <ul>
* <li>{@link WebRequest} * <li>{@link WebRequest}
* <li>{@link ServletRequest} * <li>{@link ServletRequest}
* <li>{@link MultipartRequest} * <li>{@link MultipartRequest}
* <li>{@link HttpSession} * <li>{@link HttpSession}
* <li>{@link PushBuilder} (as of Spring 5.0 on Servlet 4.0) * <li>{@link PushBuilder}
* <li>{@link Principal} but only if not annotated in order to allow custom * <li>{@link Principal} but only if not annotated in order to allow custom
* resolvers to resolve it, and the falling back on * resolvers to resolve it, and then falling back on
* {@link PrincipalMethodArgumentResolver}. * {@link PrincipalMethodArgumentResolver}
* <li>{@link InputStream} * <li>{@link InputStream}
* <li>{@link Reader} * <li>{@link Reader}
* <li>{@link HttpMethod} (as of Spring 4.0) * <li>{@link HttpMethod}
* <li>{@link Locale} * <li>{@link Locale}
* <li>{@link TimeZone} (as of Spring 4.0) * <li>{@link TimeZone}
* <li>{@link java.time.ZoneId} (as of Spring 4.0 and Java 8) * <li>{@link ZoneId}
* </ul> * </ul>
* *
* @author Arjen Poutsma * @author Arjen Poutsma

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2023 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -67,10 +67,11 @@ import org.springframework.web.socket.sockjs.frame.SockJsFrame;
/** /**
* An XHR transport based on Undertow's {@link io.undertow.client.UndertowClient}. * An XHR transport based on Undertow's {@link io.undertow.client.UndertowClient}.
* Requires Undertow 1.3 or 1.4, including XNIO, as of Spring Framework 5.0. *
* <p>Requires Undertow 1.3 or 1.4, including XNIO.
* *
* <p>When used for testing purposes (e.g. load testing) or for specific use cases * <p>When used for testing purposes (e.g. load testing) or for specific use cases
* (like HTTPS configuration), a custom OptionMap should be provided: * (like HTTPS configuration), a custom {@link OptionMap} should be provided:
* *
* <pre class="code"> * <pre class="code">
* OptionMap optionMap = OptionMap.builder() * OptionMap optionMap = OptionMap.builder()