Upgrading org.springframework:spring-beans 5 to 6
Breaking5.3.39 → 6.2.19Breaking3Security16Platform3Deprecated7New456Changed202Fixed883Other472
SecurityFixes CVE-2026-41838, a predictable session ID issue in the WebSocket module.CVE-2026-41838 ↗
BreakingUpgrade verdict
3 breaking changes and 3 platform requirement changes and 16 security fixes.
In plain terms
- Removes jibx-marshaller element from spring-oxm.xsd.
- Removes the pure attribute from @Contract.
- Renames aopAvailable constants in TransactionSynchronizationUtils for better GraalVM native image support.
- The bundled ASM library is updated to 9.8 so early Java 25 class files are supported.
Must act Top 5 of 29 that need code or config changes
org.springframework:spring-beans publishes an official migration guide for version 6. It covers more than the release notes do.
Upgrading to Spring Framework 6.x ↗What you must change
Breaking3
Removes jibx-marshaller element from spring-oxm.xsd.
jibx-marshallerspring-oxm.xsdRemoves the pure attribute from @Contract.
@ContractRenames aopAvailable constants in TransactionSynchronizationUtils for better GraalVM native image support.
TransactionSynchronizationUtilsaopAvailableSecurity16
Fixes CVE-2026-41838, a predictable session ID issue in the WebSocket module.
Fixes CVE-2026-41839, a privilege escalation via session fixation in WebFlux.
Fixes CVE-2026-41840, a denial of service via multipart requests in WebFlux.
Fixes CVE-2026-41841, an information disclosure via static resource cache in Spring MVC and WebFlux.
Fixes CVE-2026-41842, a denial of service via versioned resources in Spring MVC and WebFlux.
Fixes CVE-2026-41843, a path traversal via versioned static resources in Spring MVC and WebFlux.
Fixes CVE-2026-41844, an open redirect in Spring MVC and WebFlux.
Fixes CVE-2026-41845, a cross-site scripting issue via JavaScriptUtils.
JavaScriptUtilsFixes CVE-2026-41846, a cross-site scripting issue via JSP form tags.
Fixes CVE-2026-41848, a denial of service via AntPathMatcher.
AntPathMatcherFixes CVE-2026-41850, an algorithmic denial of service via SpEL expressions.
Fixes CVE-2026-41851, a denial of service via an unbounded cache in SpEL.
Fixes CVE-2026-41852, arbitrary method invocation in SpEL expressions.
Fixes CVE-2026-41853, multipart request smuggling in Spring MVC and WebFlux.
Fixes CVE-2026-41854, a server-side request forgery via UriComponentsBuilder.
UriComponentsBuilderFixes CVE-2026-41855, unsafe deserialization via Jackson JMS converters.
Platform3
Upgrades to ASM 9.8 for early Java 25 support.
ASMUpgrades to ASM 9.7.1 for early Java 24 support.
ASMEarly support for Java 23.
Deprecations to plan for
Deprecated7
Adds missing @Deprecated(forRemoval = true) markers for APIs deleted in 7.0.
@DeprecatedDeprecates methodIdentification() in CacheAspectSupport for removal.
CacheAspectSupport.methodIdentification()Deprecates setConnectTimeout on HttpComponentsClientHttpRequestFactory.
HttpComponentsClientHttpRequestFactorysetConnectTimeoutIntroduces isAutowirableConstructor(Executable, PropertyProvider) in TestConstructorUtils and deprecates existing variants.
TestConstructorUtilsisAutowirableConstructor(Executable, PropertyProvider)Deprecates the rowsExpected property of SqlQuery for removal.
SqlQueryrowsExpectedDeprecates and removes use of UrlPathHelper in ServletWebSocketHandlerRegistry.
UrlPathHelperServletWebSocketHandlerRegistryDeprecates exchangeTimeout and refactors readTimeout in ReactorClientHttpRequestFactory.
ReactorClientHttpRequestFactoryexchangeTimeoutreadTimeoutAPI changes
Generated by DepDelta from published JVM bytecode. Not mixed with prose notes.
- removed:
class SimpleBeanInfoFactory implements BeanInfoFactory, Ordered - removed:
ctor SimpleBeanInfoFactory() - removed:
method BeanWrapperImpl.getSecurityContext(): AccessControlContext - removed:
method BeanWrapperImpl.setSecurityContext(AccessControlContext): void - removed:
method ExtendedBeanInfoFactory.getOrder(): int - removed:
method SimpleBeanInfoFactory.getBeanInfo(Class): BeanInfo - removed:
method SimpleBeanInfoFactory.getOrder(): int - removed:
static field CachedIntrospectionResults.IGNORE_BEANINFO_PROPERTY_NAME: String - changed:
class ExtendedBeanInfoFactory implements BeanInfoFactory, Ordered → class ExtendedBeanInfoFactory extends StandardBeanInfoFactory - changed:
method AbstractNestablePropertyAccessor.PropertyHandler.getCollectionType(int): Class → method AbstractNestablePropertyAccessor.PropertyHandler.getCollectionType(int): TypeDescriptor - changed:
method AbstractNestablePropertyAccessor.PropertyHandler.getMapKeyType(int): Class → method AbstractNestablePropertyAccessor.PropertyHandler.getMapKeyType(int): TypeDescriptor - changed:
method AbstractNestablePropertyAccessor.PropertyHandler.getMapValueType(int): Class → method AbstractNestablePropertyAccessor.PropertyHandler.getMapValueType(int): TypeDescriptor - changed:
method BeanWrapperImpl.getLocalPropertyHandler(String): BeanWrapperImpl.BeanPropertyHandler → method BeanWrapperImpl.getLocalPropertyHandler(String): AbstractNestablePropertyAccessor.PropertyHandler - changed:
method DirectFieldAccessor.getLocalPropertyHandler(String): DirectFieldAccessor.FieldPropertyHandler → method DirectFieldAccessor.getLocalPropertyHandler(String): AbstractNestablePropertyAccessor.PropertyHandler - added:
class StandardBeanInfoFactory implements BeanInfoFactory, Ordered - added:
ctor StandardBeanInfoFactory() - added:
method AbstractNestablePropertyAccessor.PropertyHandler.setValueFallbackIfPossible(Object): boolean - added:
method PropertyEditorRegistrar.overridesDefaultEditors(): boolean - added:
method PropertyEditorRegistrySupport.setDefaultEditorRegistrar(PropertyEditorRegistrar): void - added:
method StandardBeanInfoFactory.getBeanInfo(Class): BeanInfo - added:
method StandardBeanInfoFactory.getOrder(): int - added:
static field StandardBeanInfoFactory.IGNORE_BEANINFO_PROPERTY_NAME: String - added:
static method BeanUtils.hasUniqueWriteMethod(PropertyDescriptor): boolean
- removed:
abstract class AnnotationBeanUtils - removed:
ctor AnnotationBeanUtils() - removed:
static method AnnotationBeanUtils.copyPropertiesToBean(Annotation, Object, StringValueResolver, String[]): void - removed:
static method AnnotationBeanUtils.copyPropertiesToBean(Annotation, Object, String[]): void
- added:
ctor NoUniqueBeanDefinitionException(Class, Collection, String) - added:
interface BeanFactoryInitializer - added:
method BeanFactoryInitializer.initialize(ListableBeanFactory): void - added:
method ListableBeanFactory.findAllAnnotationsOnBean(String, Class, boolean): Set - added:
method ObjectProvider.getObject(): Object - added:
method ObjectProvider.orderedStream(Predicate): Stream - added:
method ObjectProvider.orderedStream(Predicate, boolean): Stream - added:
method ObjectProvider.stream(Predicate): Stream - added:
method ObjectProvider.stream(Predicate, boolean): Stream - added:
static field BeanFactory.FACTORY_BEAN_PREFIX_CHAR: char - added:
static field ObjectProvider.UNFILTERED: Predicate
- removed:
@interface Required - removed:
class RequiredAnnotationBeanPostProcessor implements SmartInstantiationAwareBeanPostProcessor, MergedBeanDefinitionPostProcessor, PriorityOrdered, BeanFactoryAware - removed:
ctor RequiredAnnotationBeanPostProcessor() - removed:
method AutowiredAnnotationBeanPostProcessor.determineRequiredStatus(AnnotationAttributes): boolean - removed:
method AutowiredAnnotationBeanPostProcessor.findAutowireCandidates(Class): Map - removed:
method AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(PropertyValues, PropertyDescriptor[], Object, String): PropertyValues - removed:
method RequiredAnnotationBeanPostProcessor.getOrder(): int - removed:
method RequiredAnnotationBeanPostProcessor.getRequiredAnnotationType(): Class - removed:
method RequiredAnnotationBeanPostProcessor.isRequiredProperty(PropertyDescriptor): boolean - removed:
method RequiredAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(RootBeanDefinition, Class, String): void - removed:
method RequiredAnnotationBeanPostProcessor.postProcessPropertyValues(PropertyValues, PropertyDescriptor[], Object, String): PropertyValues - removed:
method RequiredAnnotationBeanPostProcessor.setBeanFactory(BeanFactory): void - removed:
method RequiredAnnotationBeanPostProcessor.setOrder(int): void - removed:
method RequiredAnnotationBeanPostProcessor.setRequiredAnnotationType(Class): void - removed:
method RequiredAnnotationBeanPostProcessor.shouldSkip(ConfigurableListableBeanFactory, String): boolean - removed:
static field RequiredAnnotationBeanPostProcessor.SKIP_REQUIRED_CHECK_ATTRIBUTE: String - changed:
class AutowiredAnnotationBeanPostProcessor implements SmartInstantiationAwareBeanPostProcessor, MergedBeanDefinitionPostProcessor, PriorityOrdered, BeanFactoryAware → class AutowiredAnnotationBeanPostProcessor implements SmartInstantiationAwareBeanPostProcessor, MergedBeanDefinitionPostProcessor, BeanRegistrationAotProcessor, PriorityOrdered, BeanFactoryAware - changed:
class InitDestroyAnnotationBeanPostProcessor implements DestructionAwareBeanPostProcessor, MergedBeanDefinitionPostProcessor, PriorityOrdered, Serializable → class InitDestroyAnnotationBeanPostProcessor implements DestructionAwareBeanPostProcessor, MergedBeanDefinitionPostProcessor, BeanRegistrationAotProcessor, PriorityOrdered, Serializable - changed:
method QualifierAnnotationAutowireCandidateResolver.checkQualifiers(BeanDefinitionHolder, Annotation[]): boolean → method QualifierAnnotationAutowireCandidateResolver.checkQualifiers(BeanDefinitionHolder, Annotation[]): Boolean - added:
method AutowiredAnnotationBeanPostProcessor.determineBeanType(Class, String): Class - added:
method AutowiredAnnotationBeanPostProcessor.processAheadOfTime(RegisteredBean): BeanRegistrationAotContribution - added:
method InitDestroyAnnotationBeanPostProcessor.addDestroyAnnotationType(Class): void - added:
method InitDestroyAnnotationBeanPostProcessor.addInitAnnotationType(Class): void - added:
method InitDestroyAnnotationBeanPostProcessor.processAheadOfTime(RegisteredBean): BeanRegistrationAotContribution - added:
method InjectionMetadata.InjectedElement.shouldInject(PropertyValues): boolean - added:
method InjectionMetadata.getInjectedElements(): Collection - added:
method InjectionMetadata.getInjectedElements(PropertyValues): Collection - added:
method QualifierAnnotationAutowireCandidateResolver.getSuggestedName(DependencyDescriptor): String - added:
static method BeanFactoryAnnotationUtils.getQualifierValue(AnnotatedElement): String
- added:
abstract class AotException extends RuntimeException - added:
class AotBeanProcessingException extends AotProcessingException - added:
class AotProcessingException extends AotException - added:
class AutowiredArgumentsCodeGenerator - added:
class BeanRegistrationCodeFragmentsDecorator implements BeanRegistrationCodeFragments - added:
class CodeWarnings - added:
class InstanceSupplierCodeGenerator - added:
ctor AotBeanProcessingException(RegisteredBean, String) - added:
ctor AotBeanProcessingException(RegisteredBean, String, Throwable) - added:
ctor AotException(String, Throwable) - added:
ctor AotProcessingException(String, Throwable) - added:
ctor AutowiredArgumentsCodeGenerator(Class, Executable) - added:
ctor BeanRegistrationCodeFragmentsDecorator(BeanRegistrationCodeFragments) - added:
ctor CodeWarnings() - added:
ctor InstanceSupplierCodeGenerator(GenerationContext, ClassName, GeneratedMethods, boolean) - added:
enum AotServices.Source - added:
final class AotServices implements Iterable - added:
final class AutowiredFieldValueResolver extends AutowiredElementResolver - added:
final class AutowiredMethodArgumentsResolver extends AutowiredElementResolver - added:
final class BeanInstanceSupplier extends AutowiredElementResolver implements InstanceSupplier - added:
interface AutowiredArguments - added:
interface BeanFactoryInitializationAotContribution - added:
interface BeanFactoryInitializationAotProcessor - added:
interface BeanFactoryInitializationCode - added:
interface BeanRegistrationAotContribution - added:
interface BeanRegistrationAotProcessor - added:
interface BeanRegistrationCode - added:
interface BeanRegistrationCodeFragments - added:
interface BeanRegistrationExcludeFilter - added:
interface BeanRegistrationsCode - added:
method AotBeanProcessingException.getBeanDefinition(): RootBeanDefinition - added:
method AotServices.Loader.load(Class): AotServices - added:
method AotServices.asList(): List - added:
method AotServices.findByBeanName(String): Object - added:
method AotServices.getSource(Object): AotServices.Source - added:
method AotServices.iterator(): Iterator - added:
method AotServices.stream(): Stream - added:
method AutowiredArguments.get(int): Object - added:
method AutowiredArguments.get(int, Class): Object - added:
method AutowiredArguments.getObject(int): Object - added:
method AutowiredArguments.toArray(): Object[] - added:
method AutowiredArgumentsCodeGenerator.generateCode(Class[]): CodeBlock - added:
method AutowiredArgumentsCodeGenerator.generateCode(Class[], int): CodeBlock - added:
method AutowiredArgumentsCodeGenerator.generateCode(Class[], int, String): CodeBlock - added:
method AutowiredFieldValueResolver.resolve(RegisteredBean): Object - added:
method AutowiredFieldValueResolver.resolve(RegisteredBean, Class): Object - added:
method AutowiredFieldValueResolver.resolve(RegisteredBean, ThrowingConsumer): void - added:
method AutowiredFieldValueResolver.resolveAndSet(RegisteredBean, Object): void - added:
method AutowiredFieldValueResolver.resolveObject(RegisteredBean): Object - added:
method AutowiredFieldValueResolver.withShortcut(String): AutowiredFieldValueResolver - added:
method AutowiredMethodArgumentsResolver.resolve(RegisteredBean): AutowiredArguments - added:
method AutowiredMethodArgumentsResolver.resolve(RegisteredBean, ThrowingConsumer): void - added:
method AutowiredMethodArgumentsResolver.resolveAndInvoke(RegisteredBean, Object): void - added:
method AutowiredMethodArgumentsResolver.withShortcut(String[]): AutowiredMethodArgumentsResolver - added:
method BeanFactoryInitializationAotContribution.applyTo(GenerationContext, BeanFactoryInitializationCode): void - added:
method BeanFactoryInitializationAotProcessor.processAheadOfTime(ConfigurableListableBeanFactory): BeanFactoryInitializationAotContribution - added:
method BeanFactoryInitializationCode.addInitializer(MethodReference): void - added:
method BeanFactoryInitializationCode.getMethods(): GeneratedMethods - added:
method BeanInstanceSupplier.get(RegisteredBean): Object - added:
method BeanInstanceSupplier.getFactoryMethod(): Method - added:
method BeanInstanceSupplier.withGenerator(ThrowingBiFunction): BeanInstanceSupplier - added:
method BeanInstanceSupplier.withGenerator(ThrowingFunction): BeanInstanceSupplier - added:
method BeanInstanceSupplier.withGenerator(ThrowingSupplier): BeanInstanceSupplier - added:
method BeanInstanceSupplier.withShortcut(String[]): BeanInstanceSupplier - added:
method BeanInstanceSupplier.withShortcuts(String[]): BeanInstanceSupplier - added:
method BeanRegistrationAotContribution.applyTo(GenerationContext, BeanRegistrationCode): void - added:
method BeanRegistrationAotContribution.customizeBeanRegistrationCodeFragments(GenerationContext, BeanRegistrationCodeFragments): BeanRegistrationCodeFragments - added:
method BeanRegistrationAotProcessor.isBeanExcludedFromAotProcessing(): boolean - added:
method BeanRegistrationAotProcessor.processAheadOfTime(RegisteredBean): BeanRegistrationAotContribution - added:
method BeanRegistrationCode.addInstancePostProcessor(MethodReference): void - added:
method BeanRegistrationCode.getClassName(): ClassName - added:
method BeanRegistrationCode.getMethods(): GeneratedMethods - added:
method BeanRegistrationCodeFragments.generateInstanceSupplierCode(GenerationContext, BeanRegistrationCode, boolean): CodeBlock - added:
method BeanRegistrationCodeFragments.generateNewBeanDefinitionCode(GenerationContext, ResolvableType, BeanRegistrationCode): CodeBlock - added:
method BeanRegistrationCodeFragments.generateReturnCode(GenerationContext, BeanRegistrationCode): CodeBlock - added:
method BeanRegistrationCodeFragments.generateSetBeanDefinitionPropertiesCode(GenerationContext, BeanRegistrationCode, RootBeanDefinition, Predicate): CodeBlock - added:
method BeanRegistrationCodeFragments.generateSetBeanInstanceSupplierCode(GenerationContext, BeanRegistrationCode, CodeBlock, List): CodeBlock - added:
method BeanRegistrationCodeFragments.getTarget(RegisteredBean): ClassName - added:
method BeanRegistrationCodeFragmentsDecorator.generateInstanceSupplierCode(GenerationContext, BeanRegistrationCode, boolean): CodeBlock - added:
method BeanRegistrationCodeFragmentsDecorator.generateNewBeanDefinitionCode(GenerationContext, ResolvableType, BeanRegistrationCode): CodeBlock - added:
method BeanRegistrationCodeFragmentsDecorator.generateReturnCode(GenerationContext, BeanRegistrationCode): CodeBlock - added:
method BeanRegistrationCodeFragmentsDecorator.generateSetBeanDefinitionPropertiesCode(GenerationContext, BeanRegistrationCode, RootBeanDefinition, Predicate): CodeBlock - added:
method BeanRegistrationCodeFragmentsDecorator.generateSetBeanInstanceSupplierCode(GenerationContext, BeanRegistrationCode, CodeBlock, List): CodeBlock - added:
method BeanRegistrationCodeFragmentsDecorator.getTarget(RegisteredBean): ClassName - added:
method BeanRegistrationExcludeFilter.isExcludedFromAotProcessing(RegisteredBean): boolean - added:
method BeanRegistrationsCode.getClassName(): ClassName - added:
method BeanRegistrationsCode.getMethods(): GeneratedMethods - added:
method CodeWarnings.detectDeprecation(AnnotatedElement[]): CodeWarnings - added:
method CodeWarnings.detectDeprecation(ResolvableType): CodeWarnings - added:
method CodeWarnings.detectDeprecation(Stream): CodeWarnings - added:
method CodeWarnings.getWarnings(): Set - added:
method CodeWarnings.register(String): void - added:
method CodeWarnings.suppress(Consumer): void - added:
method CodeWarnings.suppress(MethodSpec.Builder): void - added:
method CodeWarnings.suppress(TypeSpec.Builder): void - added:
method CodeWarnings.toString(): String - added:
method InstanceSupplierCodeGenerator.generateCode(RegisteredBean, Executable): CodeBlock - added:
method InstanceSupplierCodeGenerator.generateCode(RegisteredBean, RegisteredBean.InstantiationDescriptor): CodeBlock - added:
static class AotServices.Loader - added:
static field AotServices.FACTORIES_RESOURCE_LOCATION: String - added:
static field AotServices.Source.BEAN_FACTORY: AotServices.Source - added:
static field AotServices.Source.SPRING_FACTORIES_LOADER: AotServices.Source - added:
static field BeanFactoryInitializationCode.BEAN_FACTORY_VARIABLE: String - added:
static field BeanRegistrationAotProcessor.IGNORE_REGISTRATION_ATTRIBUTE: String - added:
static field BeanRegistrationCodeFragments.BEAN_DEFINITION_VARIABLE: String - added:
static field BeanRegistrationCodeFragments.INSTANCE_SUPPLIER_VARIABLE: String - added:
static method AotServices.Source.valueOf(String): AotServices.Source - added:
static method AotServices.Source.values(): AotServices.Source[] - added:
static method AotServices.factories(): AotServices.Loader - added:
static method AotServices.factories(ClassLoader): AotServices.Loader - added:
static method AotServices.factories(SpringFactoriesLoader): AotServices.Loader - added:
static method AotServices.factoriesAndBeans(ListableBeanFactory): AotServices.Loader - added:
static method AotServices.factoriesAndBeans(SpringFactoriesLoader, ListableBeanFactory): AotServices.Loader - added:
static method AutowiredArguments.of(Object[]): AutowiredArguments - added:
static method AutowiredFieldValueResolver.forField(String): AutowiredFieldValueResolver - added:
static method AutowiredFieldValueResolver.forRequiredField(String): AutowiredFieldValueResolver - added:
static method AutowiredMethodArgumentsResolver.forMethod(String, Class[]): AutowiredMethodArgumentsResolver - added:
static method AutowiredMethodArgumentsResolver.forRequiredMethod(String, Class[]): AutowiredMethodArgumentsResolver - added:
static method BeanInstanceSupplier.forConstructor(Class[]): BeanInstanceSupplier - added:
static method BeanInstanceSupplier.forFactoryMethod(Class, String, Class[]): BeanInstanceSupplier - added:
static method BeanRegistrationAotContribution.concat(BeanRegistrationAotContribution, BeanRegistrationAotContribution): BeanRegistrationAotContribution - added:
static method BeanRegistrationAotContribution.withCustomCodeFragments(UnaryOperator): BeanRegistrationAotContribution
- removed:
abstract class InstantiationAwareBeanPostProcessorAdapter implements SmartInstantiationAwareBeanPostProcessor - removed:
ctor InstantiationAwareBeanPostProcessorAdapter() - removed:
method ConfigurableBeanFactory.getAccessControlContext(): AccessControlContext - removed:
method DependencyDescriptor.resolveNotUnique(Class, Map): Object - removed:
method InstantiationAwareBeanPostProcessor.postProcessPropertyValues(PropertyValues, PropertyDescriptor[], Object, String): PropertyValues - changed:
class TypedStringValue implements BeanMetadataElement → class TypedStringValue implements BeanMetadataElement, Comparable - added:
field PlaceholderConfigurerSupport.escapeCharacter: Character - added:
method BeanDefinition.isFallback(): boolean - added:
method BeanDefinition.setFallback(boolean): void - added:
method ConfigurableBeanFactory.getBootstrapExecutor(): Executor - added:
method ConfigurableBeanFactory.setBootstrapExecutor(Executor): void - added:
method ConfigurableListableBeanFactory.prepareSingletonBootstrap(): void - added:
method ConstructorArgumentValues.containsNamedArgument(): boolean - added:
method DependencyDescriptor.supportsLazyResolution(): boolean - added:
method DependencyDescriptor.usesStandardBeanLookup(): boolean - added:
method PlaceholderConfigurerSupport.setEscapeCharacter(Character): void - added:
method SingletonBeanRegistry.addSingletonCallback(String, Consumer): void - added:
method SmartInstantiationAwareBeanPostProcessor.determineBeanType(Class, String): Class - added:
method TypedStringValue.compareTo(TypedStringValue): int - added:
static field PlaceholderConfigurerSupport.DEFAULT_ESCAPE_CHARACTER: Character
- removed:
class SimpleSecurityContextProvider implements SecurityContextProvider - removed:
ctor SimpleSecurityContextProvider() - removed:
ctor SimpleSecurityContextProvider(AccessControlContext) - removed:
interface SecurityContextProvider - removed:
method AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(String, RootBeanDefinition): Class - removed:
method AbstractAutowireCapableBeanFactory.obtainFromSupplier(Supplier, String): BeanWrapper - removed:
method AbstractBeanDefinitionReader.getBeanFactory(): BeanDefinitionRegistry - removed:
method AbstractBeanFactory.getAccessControlContext(): AccessControlContext - removed:
method AbstractBeanFactory.getTypeForFactoryBean(String, RootBeanDefinition): Class - removed:
method AbstractBeanFactory.setSecurityContextProvider(SecurityContextProvider): void - removed:
method FactoryBeanRegistrySupport.getAccessControlContext(): AccessControlContext - removed:
method SecurityContextProvider.getAccessControlContext(): AccessControlContext - removed:
method SimpleAutowireCandidateResolver.getLazyResolutionProxyIfNecessary(DependencyDescriptor, String): Object - removed:
method SimpleAutowireCandidateResolver.getSuggestedValue(DependencyDescriptor): Object - removed:
method SimpleAutowireCandidateResolver.hasQualifier(DependencyDescriptor): boolean - removed:
method SimpleAutowireCandidateResolver.isAutowireCandidate(BeanDefinitionHolder, DependencyDescriptor): boolean - removed:
method SimpleAutowireCandidateResolver.isRequired(DependencyDescriptor): boolean - removed:
method SimpleSecurityContextProvider.getAccessControlContext(): AccessControlContext - changed:
method AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(String, Object, RootBeanDefinition): void → method AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(String, Object, RootBeanDefinition, String): void - added:
class BeanDefinitionValueResolver - added:
ctor BeanDefinitionOverrideException(String, BeanDefinition, BeanDefinition, String) - added:
ctor BeanDefinitionValueResolver(AbstractAutowireCapableBeanFactory, String, BeanDefinition) - added:
ctor BeanDefinitionValueResolver(AbstractAutowireCapableBeanFactory, String, BeanDefinition, TypeConverter) - added:
ctor RegisteredBean.InstantiationDescriptor(Executable) - added:
ctor RegisteredBean.InstantiationDescriptor(Executable, Class) - added:
ctor ReplaceOverride(String, String, List) - added:
ctor RootBeanDefinition(ResolvableType) - added:
final class RegisteredBean - added:
interface InstanceSupplier extends ThrowingSupplier - added:
method AbstractAutowireCapableBeanFactory.obtainInstanceFromSupplier(Supplier, String, RootBeanDefinition): Object - added:
method AbstractBeanDefinition.getDestroyMethodNames(): String[] - added:
method AbstractBeanDefinition.getInitMethodNames(): String[] - added:
method AbstractBeanDefinition.isBackgroundInit(): boolean - added:
method AbstractBeanDefinition.isDefaultCandidate(): boolean - added:
method AbstractBeanDefinition.isFallback(): boolean - added:
method AbstractBeanDefinition.setBackgroundInit(boolean): void - added:
method AbstractBeanDefinition.setDefaultCandidate(boolean): void - added:
method AbstractBeanDefinition.setDestroyMethodNames(String[]): void - added:
method AbstractBeanDefinition.setFallback(boolean): void - added:
method AbstractBeanDefinition.setInitMethodNames(String[]): void - added:
method AbstractBeanFactory.cacheMergedBeanDefinition(RootBeanDefinition, String): void - added:
method AutowireCandidateResolver.getLazyResolutionProxyClass(DependencyDescriptor, String): Class - added:
method AutowireCandidateResolver.getSuggestedName(DependencyDescriptor): String - added:
method BeanDefinitionBuilder.setFallback(boolean): BeanDefinitionBuilder - added:
method BeanDefinitionRegistry.isBeanDefinitionOverridable(String): boolean - added:
method BeanDefinitionRegistryPostProcessor.postProcessBeanFactory(ConfigurableListableBeanFactory): void - added:
method BeanDefinitionValueResolver.evaluate(Object): Object - added:
method BeanDefinitionValueResolver.evaluate(TypedStringValue): Object - added:
method BeanDefinitionValueResolver.resolveInnerBean(String, BeanDefinition, BiFunction): Object - added:
method BeanDefinitionValueResolver.resolveTargetType(TypedStringValue): Class - added:
method BeanDefinitionValueResolver.resolveValueIfNecessary(Object, Object): Object - added:
method CglibSubclassingInstantiationStrategy.getActualBeanClass(RootBeanDefinition, String, BeanFactory): Class - added:
method DefaultListableBeanFactory.addSingleton(String, Object): void - added:
method DefaultListableBeanFactory.cacheMergedBeanDefinition(RootBeanDefinition, String): void - added:
method DefaultListableBeanFactory.checkMergedBeanDefinition(RootBeanDefinition, String, Object[]): void - added:
method DefaultListableBeanFactory.findAllAnnotationsOnBean(String, Class, boolean): Set - added:
method DefaultListableBeanFactory.getBootstrapExecutor(): Executor - added:
method DefaultListableBeanFactory.isBeanDefinitionOverridable(String): boolean - added:
method DefaultListableBeanFactory.isCurrentThreadAllowedToHoldSingletonLock(): Boolean - added:
method DefaultListableBeanFactory.obtainInstanceFromSupplier(Supplier, String, RootBeanDefinition): Object - added:
method DefaultListableBeanFactory.prepareSingletonBootstrap(): void - added:
method DefaultListableBeanFactory.setBootstrapExecutor(Executor): void - added:
method DefaultSingletonBeanRegistry.addSingletonCallback(String, Consumer): void - added:
method DefaultSingletonBeanRegistry.isCurrentThreadAllowedToHoldSingletonLock(): Boolean - added:
method InstanceSupplier.andThen(ThrowingBiFunction): InstanceSupplier - added:
method InstanceSupplier.get(RegisteredBean): Object - added:
method InstanceSupplier.getFactoryMethod(): Method - added:
method InstanceSupplier.getWithException(): Object - added:
method InstantiationStrategy.getActualBeanClass(RootBeanDefinition, String, BeanFactory): Class - added:
method RegisteredBean.InstantiationDescriptor.equals(Object): boolean - added:
method RegisteredBean.InstantiationDescriptor.executable(): Executable - added:
method RegisteredBean.InstantiationDescriptor.hashCode(): int - added:
method RegisteredBean.InstantiationDescriptor.targetClass(): Class - added:
method RegisteredBean.InstantiationDescriptor.toString(): String - added:
method RegisteredBean.getBeanClass(): Class - added:
method RegisteredBean.getBeanFactory(): ConfigurableListableBeanFactory - added:
method RegisteredBean.getBeanName(): String - added:
method RegisteredBean.getBeanType(): ResolvableType - added:
method RegisteredBean.getMergedBeanDefinition(): RootBeanDefinition - added:
method RegisteredBean.getParent(): RegisteredBean - added:
method RegisteredBean.isGeneratedBeanName(): boolean - added:
method RegisteredBean.isInnerBean(): boolean - added:
method RegisteredBean.resolveAutowiredArgument(DependencyDescriptor, TypeConverter, Set): Object - added:
method RegisteredBean.resolveConstructorOrFactoryMethod(): Executable - added:
method RegisteredBean.resolveInstantiationDescriptor(): RegisteredBean.InstantiationDescriptor - added:
method RegisteredBean.toString(): String - added:
method ReplaceOverride.getTypeIdentifiers(): List - added:
method RootBeanDefinition.markAsPostProcessed(): void - added:
method RootBeanDefinition.resolveDestroyMethodIfNecessary(): void - added:
method StaticListableBeanFactory.findAllAnnotationsOnBean(String, Class, boolean): Set - added:
record RegisteredBean.InstantiationDescriptor - added:
static field AbstractBeanDefinition.ORDER_ATTRIBUTE: String - added:
static field AbstractBeanDefinition.PREFERRED_CONSTRUCTORS_ATTRIBUTE: String - added:
static field DefaultListableBeanFactory.STRICT_LOCKING_PROPERTY_NAME: String - added:
static method InstanceSupplier.of(InstanceSupplier): InstanceSupplier - added:
static method InstanceSupplier.using(Method, ThrowingSupplier): InstanceSupplier - added:
static method InstanceSupplier.using(ThrowingSupplier): InstanceSupplier - added:
static method RegisteredBean.of(ConfigurableListableBeanFactory, String): RegisteredBean - added:
static method RegisteredBean.ofInnerBean(RegisteredBean, BeanDefinition): RegisteredBean - added:
static method RegisteredBean.ofInnerBean(RegisteredBean, BeanDefinitionHolder): RegisteredBean - added:
static method RegisteredBean.ofInnerBean(RegisteredBean, String, BeanDefinition): RegisteredBean - added:
static method SimpleAutowireCandidateResolver.resolveAutowireCandidates(ConfigurableListableBeanFactory, Class): Map - added:
static method SimpleAutowireCandidateResolver.resolveAutowireCandidates(ConfigurableListableBeanFactory, Class, boolean, boolean): Map - added:
static method SimpleInstantiationStrategy.instantiateWithFactoryMethod(Method, Supplier): Object - added:
static method SimpleInstantiationStrategy.setCurrentlyInvokedFactoryMethod(Method): void
- removed:
class XmlBeanFactory extends DefaultListableBeanFactory - removed:
ctor XmlBeanFactory(Resource) - removed:
ctor XmlBeanFactory(Resource, BeanFactory) - added:
method ResourceEntityResolver.resolveSchemaEntity(String, String): InputSource
- added:
method ResourceEditorRegistrar.overridesDefaultEditors(): boolean