添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Source compatibility report for Spring Framework: 5.0.18 vs 5.1.0

Tracker / Spring Framework / 5.0.18 vs 5.1.0 / spring-beans

Test Info

Library Namespring-beans Version #15.0.18 Version #25.1.0

Test Results

Total Java Modules 1 Total Methods / Classes2190 / 280 Compatibility 89.7%

Problem Summary

SeverityCount Added Methods- 40 Removed MethodsHigh 3 Problems with
Data TypesHigh 15 Medium0 Low0 Problems with
MethodsHigh 1 Medium 2 Low0 Other Changes
in Data Types- 1

Added Methods 40

spring-beans-5.1.0.RELEASE.jar , AutowireCandidateResolver.class
package org.springframework.beans.factory.support
AutowireCandidateResolver.hasQualifier ( DependencyDescriptor descriptor ) : boolean
spring-beans-5.1.0.RELEASE.jar , AutowiredAnnotationBeanPostProcessor.class
package org.springframework.beans.factory.annotation
AutowiredAnnotationBeanPostProcessor.postProcessProperties ( PropertyValues pvs , Object bean , String beanName ) : PropertyValues
AutowiredAnnotationBeanPostProcessor.resetBeanDefinition ( String beanName ) : void
spring-beans-5.1.0.RELEASE.jar , BeanDefinition.class
package org.springframework.beans.factory.config
BeanDefinition.getDestroyMethodName ( ) [abstract] : String
BeanDefinition.getInitMethodName ( ) [abstract] : String
BeanDefinition.setDescription ( String p1 ) [abstract] : void
BeanDefinition.setDestroyMethodName ( String p1 ) [abstract] : void
BeanDefinition.setInitMethodName ( String p1 ) [abstract] : void
BeanDefinition.setRole ( int p1 ) [abstract] : void
spring-beans-5.1.0.RELEASE.jar , BeanDefinitionOverrideException.class
package org.springframework.beans.factory.support
BeanDefinitionOverrideException.BeanDefinitionOverrideException ( String beanName , BeanDefinition beanDefinition , BeanDefinition existingDefinition )
BeanDefinitionOverrideException.getBeanDefinition ( ) : BeanDefinition
BeanDefinitionOverrideException.getBeanName ( ) : String
BeanDefinitionOverrideException.getExistingDefinition ( ) : BeanDefinition
BeanDefinitionOverrideException.getResourceDescription ( ) : String
spring-beans-5.1.0.RELEASE.jar , BeanDefinitionReaderUtils.class
package org.springframework.beans.factory.support
BeanDefinitionReaderUtils.uniqueBeanName ( String beanName , BeanDefinitionRegistry registry ) [static] : String
spring-beans-5.1.0.RELEASE.jar , BeanFactory.class
package org.springframework.beans.factory
BeanFactory.getBeanProvider ( Class<T> p1 ) [abstract] : ObjectProvider<T>
BeanFactory.getBeanProvider ( ResolvableType p1 ) [abstract] : ObjectProvider<T>
spring-beans-5.1.0.RELEASE.jar , DefaultListableBeanFactory.class
package org.springframework.beans.factory.support
DefaultListableBeanFactory.getBeanProvider ( Class<T> requiredType ) : ObjectProvider<T>
DefaultListableBeanFactory.getBeanProvider ( ResolvableType requiredType ) : ObjectProvider<T>
spring-beans-5.1.0.RELEASE.jar , DependencyDescriptor.class
package org.springframework.beans.factory.config
DependencyDescriptor.hashCode ( ) : int
DependencyDescriptor.resolveNotUnique ( ResolvableType type , Map<String,Object> matchingBeans ) : Object
spring-beans-5.1.0.RELEASE.jar , InstantiationAwareBeanPostProcessor.class
package org.springframework.beans.factory.config
InstantiationAwareBeanPostProcessor.postProcessProperties ( PropertyValues pvs , Object bean , String beanName ) : PropertyValues
spring-beans-5.1.0.RELEASE.jar , InstantiationAwareBeanPostProcessorAdapter.class
package org.springframework.beans.factory.config
InstantiationAwareBeanPostProcessorAdapter.postProcessProperties ( PropertyValues pvs , Object bean , String beanName ) : PropertyValues
spring-beans-5.1.0.RELEASE.jar , MergedBeanDefinitionPostProcessor.class
package org.springframework.beans.factory.support
MergedBeanDefinitionPostProcessor.resetBeanDefinition ( String beanName ) : void
spring-beans-5.1.0.RELEASE.jar , MutablePropertyValues.class
package org.springframework.beans
MutablePropertyValues.iterator ( ) : Iterator<PropertyValue>
MutablePropertyValues.spliterator ( ) : Spliterator<PropertyValue>
MutablePropertyValues.stream ( ) : Stream<PropertyValue>
spring-beans-5.1.0.RELEASE.jar , NoUniqueBeanDefinitionException.class
package org.springframework.beans.factory
NoUniqueBeanDefinitionException.NoUniqueBeanDefinitionException ( ResolvableType type , Collection<String> beanNamesFound )
NoUniqueBeanDefinitionException.NoUniqueBeanDefinitionException ( ResolvableType type , String... beanNamesFound )
spring-beans-5.1.0.RELEASE.jar , ObjectProvider.class
package org.springframework.beans.factory
ObjectProvider<T>.iterator ( ) : Iterator<T>
ObjectProvider<T>.orderedStream ( ) : Stream<T>
ObjectProvider<T>.stream ( ) : Stream<T>
spring-beans-5.1.0.RELEASE.jar , PropertyValues.class
package org.springframework.beans
PropertyValues.iterator ( ) : Iterator<PropertyValue>
PropertyValues.spliterator ( ) : Spliterator<PropertyValue>
PropertyValues.stream ( ) : Stream<PropertyValue>
spring-beans-5.1.0.RELEASE.jar , QualifierAnnotationAutowireCandidateResolver.class
package org.springframework.beans.factory.annotation
QualifierAnnotationAutowireCandidateResolver.hasQualifier ( DependencyDescriptor descriptor ) : boolean
spring-beans-5.1.0.RELEASE.jar , RootBeanDefinition.class
package org.springframework.beans.factory.support
RootBeanDefinition.getPreferredConstructors ( ) : Constructor<?>[ ]
RootBeanDefinition.getResolvableType ( ) : ResolvableType
spring-beans-5.1.0.RELEASE.jar , StaticListableBeanFactory.class
package org.springframework.beans.factory.support
StaticListableBeanFactory.getBeanProvider ( Class<T> requiredType ) : ObjectProvider<T>
StaticListableBeanFactory.getBeanProvider ( ResolvableType requiredType ) : ObjectProvider<T>
to the top

Removed Methods 3

spring-beans-5.0.18.RELEASE.jar , StrictMapAppenderConstructor.class
package org.springframework.beans.factory.config
YamlProcessor.StrictMapAppenderConstructor.constructMapping ( MappingNode node ) : Map<Object,Object>
YamlProcessor.StrictMapAppenderConstructor.createDefaultMap ( ) : Map<Object,Object>
YamlProcessor.StrictMapAppenderConstructor.YamlProcessor.StrictMapAppenderConstructor ( )
to the top

Problems with Data Types, High Severity 15

spring-beans-5.0.18.RELEASE.jar
package org.springframework.beans
[+] class PropertyAccessorFactory 1 [+] affected methods: 3 (0.1%)
PropertyAccessorFactory.PropertyAccessorFactory ( )
This constructor is from 'PropertyAccessorFactory' abstract class.
PropertyAccessorFactory.forBeanPropertyAccess ( Object target )
This method is from 'PropertyAccessorFactory' abstract class.
PropertyAccessorFactory.forDirectFieldAccess ( Object target )
This method is from 'PropertyAccessorFactory' abstract class.
[+] affected methods: 25 (1.1%)
AbstractPropertyAccessor.setPropertyValues ( PropertyValues pvs )
1st parameter 'pvs' of this method is of type 'PropertyValues'.
AbstractPropertyAccessor.setPropertyValues ( PropertyValues pvs , boolean ignoreUnknown )
1st parameter 'pvs' of this method is of type 'PropertyValues'.
AbstractPropertyAccessor.setPropertyValues ( PropertyValues pvs , boolean ignoreUnknown , boolean ignoreInvalid )
1st parameter 'pvs' of this method is of type 'PropertyValues'.
factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues ( PropertyValues pvs , PropertyDescriptor[ ] pds , Object bean , String beanName )
1st parameter 'pvs' of this method is of type 'PropertyValues'.
factory.annotation.InjectionMetadata.clear ( PropertyValues pvs )
1st parameter 'pvs' of this method is of type 'PropertyValues'.
Change Effect
This class became final . Recompilation of a client program may be terminated with the message: cannot inherit from final PropertyAccessorFactory . Added super-interface java.lang.Iterable<PropertyValue> . Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method in java.lang.Iterable<PropertyValue> .
[+] affected methods: 46 (2.1%)
annotation.AutowiredAnnotationBeanPostProcessor.setBeanFactory ( BeanFactory beanFactory )
1st parameter 'beanFactory' of this method is of type 'BeanFactory'.
annotation.BeanFactoryAnnotationUtils.isQualifierMatch ( Predicate<String> qualifier , String beanName , BeanFactory beanFactory )
3rd parameter 'beanFactory' of this method is of type 'BeanFactory'.
annotation.BeanFactoryAnnotationUtils.qualifiedBeanOfType ( BeanFactory beanFactory , Class<T> beanType , String qualifier )
1st parameter 'beanFactory' of this method is of type 'BeanFactory'.
annotation.RequiredAnnotationBeanPostProcessor.setBeanFactory ( BeanFactory beanFactory )
1st parameter 'beanFactory' of this method is of type 'BeanFactory'.
BeanFactory.containsBean ( String p1 )
This abstract method is from 'BeanFactory' interface.
[+] affected methods: 7 (0.3%)
ObjectProvider<T>.getIfAvailable ( )
This abstract method is from 'ObjectProvider<T>' interface.
ObjectProvider<T>.getIfAvailable ( Supplier<T> defaultSupplier )
This method is from 'ObjectProvider<T>' interface.
ObjectProvider<T>.getIfUnique ( )
This abstract method is from 'ObjectProvider<T>' interface.
ObjectProvider<T>.getIfUnique ( Supplier<T> defaultSupplier )
This method is from 'ObjectProvider<T>' interface.
ObjectProvider<T>.getObject ( Object... p1 )
This abstract method is from 'ObjectProvider<T>' interface.
package org.springframework.beans.factory.config
[+] class YamlProcessor.StrictMapAppenderConstructor 1
Change Effect
Abstract method ObjectProvider<T> getBeanProvider ( Class<T> ) has been added to this interface. Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method getBeanProvider ( Class<T> ) in BeanFactory . Abstract method ObjectProvider<T> getBeanProvider ( ResolvableType ) has been added to this interface. Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method getBeanProvider ( ResolvableType ) in BeanFactory . Added super-interface java.lang.Iterable<T> . Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method in java.lang.Iterable<T> .
[+] affected methods: 3 (0.1%)
YamlProcessor.StrictMapAppenderConstructor.YamlProcessor.StrictMapAppenderConstructor ( )
This constructor is from 'YamlProcessor.StrictMapAppenderConstructor' class.
YamlProcessor.StrictMapAppenderConstructor.constructMapping ( MappingNode node )
This method is from 'YamlProcessor.StrictMapAppenderConstructor' class.
YamlProcessor.StrictMapAppenderConstructor.createDefaultMap ( )
This method is from 'YamlProcessor.StrictMapAppenderConstructor' class.
Change Effect
This class has been removed. Recompilation of a client program may be terminated with the message: cannot find class YamlProcessor.StrictMapAppenderConstructor .
[+] affected methods: 95 (4.3%)
BeanDefinition.getBeanClassName ( )
This abstract method is from 'BeanDefinition' interface.
BeanDefinition.getConstructorArgumentValues ( )
This abstract method is from 'BeanDefinition' interface.
BeanDefinition.getDependsOn ( )
This abstract method is from 'BeanDefinition' interface.
BeanDefinition.getDescription ( )
This abstract method is from 'BeanDefinition' interface.
BeanDefinition.getFactoryBeanName ( )
This abstract method is from 'BeanDefinition' interface.
package org.springframework.beans.factory.groovy
[+] class GroovyDynamicElementReader._invokeMethod_closure1 1
Change Effect
Abstract method String getDestroyMethodName ( ) has been added to this interface. Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method getDestroyMethodName ( ) in BeanDefinition . Abstract method String getInitMethodName ( ) has been added to this interface. Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method getInitMethodName ( ) in BeanDefinition . Abstract method void setDescription ( String ) has been added to this interface. Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method setDescription ( String ) in BeanDefinition . Abstract method void setDestroyMethodName ( String ) has been added to this interface. Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method setDestroyMethodName ( String ) in BeanDefinition . Abstract method void setInitMethodName ( String ) has been added to this interface. Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method setInitMethodName ( String ) in BeanDefinition . Abstract method void setRole ( int ) has been added to this interface. Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method setRole ( int ) in BeanDefinition .
[+] affected methods: 8 (0.4%)
GroovyDynamicElementReader._invokeMethod_closure1.GroovyDynamicElementReader._invokeMethod_closure1 ( Object _outerInstance , Object _thisObject , Reference myNamespaces , Reference args , Reference builder , Reference myNamespace , Reference name )
This constructor is from 'GroovyDynamicElementReader._invokeMethod_closure1' class.
GroovyDynamicElementReader._invokeMethod_closure1.doCall ( )
This method is from 'GroovyDynamicElementReader._invokeMethod_closure1' class.
GroovyDynamicElementReader._invokeMethod_closure1.doCall ( Object it )
This method is from 'GroovyDynamicElementReader._invokeMethod_closure1' class.
GroovyDynamicElementReader._invokeMethod_closure1.getArgs ( )
This method is from 'GroovyDynamicElementReader._invokeMethod_closure1' class.
GroovyDynamicElementReader._invokeMethod_closure1.getBuilder ( )
This method is from 'GroovyDynamicElementReader._invokeMethod_closure1' class.
[+] affected methods: 32 (1.5%)
BeanDefinitionBuilder.addConstructorArgReference ( String beanName )
This method is from 'BeanDefinitionBuilder' class.
BeanDefinitionBuilder.addConstructorArgValue ( Object value )
This method is from 'BeanDefinitionBuilder' class.
BeanDefinitionBuilder.addDependsOn ( String beanName )
This method is from 'BeanDefinitionBuilder' class.
BeanDefinitionBuilder.addPropertyReference ( String name , String beanName )
This method is from 'BeanDefinitionBuilder' class.
BeanDefinitionBuilder.addPropertyValue ( String name , Object value )
This method is from 'BeanDefinitionBuilder' class.
[+] affected methods: 6 (0.3%)
BeanDefinitionReaderUtils.BeanDefinitionReaderUtils ( )
This constructor is from 'BeanDefinitionReaderUtils' class.
BeanDefinitionReaderUtils.createBeanDefinition ( String parentName , String className , ClassLoader classLoader )
This method is from 'BeanDefinitionReaderUtils' class.
BeanDefinitionReaderUtils.generateBeanName ( BeanDefinition beanDefinition , BeanDefinitionRegistry registry )
This method is from 'BeanDefinitionReaderUtils' class.
BeanDefinitionReaderUtils.generateBeanName ( BeanDefinition definition , BeanDefinitionRegistry registry , boolean isInnerBean )
This method is from 'BeanDefinitionReaderUtils' class.
BeanDefinitionReaderUtils.registerBeanDefinition ( BeanDefinitionHolder definitionHolder , BeanDefinitionRegistry registry )
This method is from 'BeanDefinitionReaderUtils' class.

Problems with Methods, High Severity 1

spring-beans-5.0.18.RELEASE.jar , PropertyAccessorFactory.class
package org.springframework.beans
[+] PropertyAccessorFactory.PropertyAccessorFactory ( ) 1
Change Effect
This class became final . Recompilation of a client program may be terminated with the message: cannot inherit from final GroovyDynamicElementReader._invokeMethod_closure1 . This class became final . Recompilation of a client program may be terminated with the message: cannot inherit from final BeanDefinitionBuilder . This class became abstract . Recompilation of a client program may be terminated with the message: BeanDefinitionReaderUtils is abstract; cannot be instantiated.

to the top

Problems with Methods, Medium Severity 2

spring-beans-5.0.18.RELEASE.jar , AutowiredAnnotationBeanPostProcessor.class
package org.springframework.beans.factory.annotation
[+] AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues ( PropertyValues pvs , PropertyDescriptor[ ] pds , Object bean , String beanName ) : PropertyValues 1
Change Effect
Access level has been changed from public to private . Recompilation of a client program may be terminated with the message: PropertyAccessorFactory ( ) has private access in PropertyAccessorFactory .

spring-beans-5.0.18.RELEASE.jar , RequiredAnnotationBeanPostProcessor.class
package org.springframework.beans.factory.annotation
[+] RequiredAnnotationBeanPostProcessor.postProcessPropertyValues ( PropertyValues pvs , PropertyDescriptor[ ] pds , Object bean , String beanName ) : PropertyValues 1
Change Effect
Removed org.springframework.beans.factory.BeanCreationException exception thrown. Recompilation of a client program may be terminated with the message: cannot override postProcessPropertyValues ( PropertyValues , PropertyDescriptor[ ] , Object , String ) in AutowiredAnnotationBeanPostProcessor ; overridden method does not throw org.springframework.beans.factory.BeanCreationException .

to the top

Other Changes in Data Types 1

spring-beans-5.0.18.RELEASE.jar
package org.springframework.beans.factory.config
[+] interface AutowireCapableBeanFactory 1
Change Effect
Removed org.springframework.beans.BeansException exception thrown. Recompilation of a client program may be terminated with the message: cannot override postProcessPropertyValues ( PropertyValues , PropertyDescriptor[ ] , Object , String ) in RequiredAnnotationBeanPostProcessor ; overridden method does not throw org.springframework.beans.BeansException .
[+] affected methods: 14 (0.6%)
AutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization ( Object p1 , String p2 )
This abstract method is from 'AutowireCapableBeanFactory' interface.
AutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization ( Object p1 , String p2 )
This abstract method is from 'AutowireCapableBeanFactory' interface.
AutowireCapableBeanFactory.applyBeanPropertyValues ( Object p1 , String p2 )
This abstract method is from 'AutowireCapableBeanFactory' interface.
AutowireCapableBeanFactory.autowire ( Class<?> p1 , int p2 , boolean p3 )
This abstract method is from 'AutowireCapableBeanFactory' interface.
AutowireCapableBeanFactory.autowireBean ( Object p1 )
This abstract method is from 'AutowireCapableBeanFactory' interface.
Change Effect
Field ORIGINAL_INSTANCE_SUFFIX has been added to this interface. No effect.