Package org.springframework.core
@NullMarked
package org.springframework.core
Provides basic classes for exception handling and version detection,
and other core helpers that are not specific to any part of the framework.
-
ClassDescriptionCommon interface for managing aliases.Interface defining a generic contract for attaching and accessing metadata to/from arbitrary objects.Support class for
AttributeAccessors, providing a base implementation of all methods.Helper for resolving syntheticbridge Methodsto theMethodbeing bridged.Factory for collections that is aware of common Java and Spring collection types.SpecialObjectInputStreamsubclass that resolves class names against a specificClassLoader.Deprecated.since 6.1 with no replacement; use an enum, map, or similar custom solution insteadException thrown when theConstantsclass is asked for an invalid constant name.Provides methods to support various naming and other conventions used throughout the framework.Utilities for working with Kotlin Coroutines.Base class for decorating ClassLoaders such asOverridingClassLoaderandShadowingClassLoader, providing common handling of excluded packages and classes.Interface to be implemented by decorating proxies, in particular Spring AOP proxies but potentially also custom proxies with decorator semantics.Default implementation of theParameterNameDiscovererstrategy interface, delegating to the Java 8 standard reflection mechanism.Comparator capable of sorting exceptions based on their depth from the thrown exception type.Helper class for resolving generic types against type variables.Interface to be implemented by transparent resource proxies that need to be considered as equal to the underlying resource, for example for consistent lookup key comparisons.A common delegate for detecting Kotlin's presence and for identifying Kotlin types.ParameterNameDiscovererimplementation which uses Kotlin's reflection facilities for introspecting parameter names.A common key class for a method against a specific target class, includingMethodClassKey.toString()representation andComparablesupport (as suggested for customHashMapkeys as of Java 8).Defines the algorithm for searching for metadata-associated methods exhaustively including interfaces and parent classes while also dealing with parameterized methods as well as common scenarios encountered with interface and class-based proxies.A callback interface for metadata lookup on a given method.Helper class that encapsulates the specification of a method parameter, i.e.InheritableThreadLocalsubclass that exposes a specified name asNamedInheritableThreadLocal.toString()result (allowing for introspection).ThreadLocalsubclass that exposes a specified name asNamedThreadLocal.toString()result (allowing for introspection).A common delegate for detecting a GraalVM native image environment.Native image context as defined in GraalVM's ImageInfo.Handy class for wrapping checkedExceptionswith a root cause.Helper class for implementing exception classes which are capable of holding nested exceptions.Handy class for wrapping runtimeExceptionswith a root cause.Constants that indicate nullness, as well as related utility methods.Comparatorimplementation forOrderedobjects, sorting by order value ascending, respectively by priority descending.Strategy interface to provide an order source for a given object.Orderedis an interface that can be implemented by objects that should be orderable, for example in aCollection.ClassLoaderthat does not always delegate to the parent loader as normal class loaders do.The purpose of this class is to enable capturing and passing a genericType.Interface to discover parameter names for methods and constructors.ParameterNameDiscovererimplementation that tries several discoverer delegates in succession.ThreadContextElementthat ensures that contexts registered with the Micrometer Context Propagation library are captured and restored when a coroutine is resumed on a thread.Adapter for a Reactive StreamsPublisherto and from an async/reactive type such asCompletableFuture, RxJavaObservable, and others.A registry of adapters to adapt Reactive StreamsPublisherto/from various async/reactive types such asCompletableFuture, RxJavaFlowable, etc.BlockHoundIntegrationfor spring-core classes.Describes the semantics of a reactive type including boolean checks forReactiveTypeDescriptor.isMultiValue(),ReactiveTypeDescriptor.isNoValue(), andReactiveTypeDescriptor.supportsEmpty().Encapsulates a JavaType, providing access tosupertypes,interfaces, andgeneric parametersalong with the ability to ultimatelyresolveto aClass.Any object can implement this interface to provide its actualResolvableType.Simple implementation of theAliasRegistryinterface.Interface to be implemented by a reloading-aware ClassLoader (for example, a Groovy-based ClassLoader).Static holder for local Spring properties, i.e.Class that exposes the Spring version.ParameterNameDiscovererimplementation which uses JDK 8's reflection facilities for introspecting parameter names (based on the "-parameters" compiler flag).