diff --git a/org.springframework.beans/src/main/java/org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.java b/org.springframework.beans/src/main/java/org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.java index 13bd7a17385..af81eeb46ba 100644 --- a/org.springframework.beans/src/main/java/org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.java +++ b/org.springframework.beans/src/main/java/org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.java @@ -68,6 +68,7 @@ import org.springframework.beans.factory.config.DependencyDescriptor; import org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor; import org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor; import org.springframework.beans.factory.config.TypedStringValue; +import org.springframework.core.LocalVariableTableParameterNameDiscoverer; import org.springframework.core.MethodParameter; import org.springframework.core.ParameterNameDiscoverer; import org.springframework.core.PriorityOrdered; @@ -116,7 +117,7 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac private InstantiationStrategy instantiationStrategy = new CglibSubclassingInstantiationStrategy(); /** Resolver strategy for method parameter names */ - private ParameterNameDiscoverer parameterNameDiscoverer; + private ParameterNameDiscoverer parameterNameDiscoverer = new LocalVariableTableParameterNameDiscoverer(); /** Whether to automatically try to resolve circular references between beans */ private boolean allowCircularReferences = true; @@ -186,9 +187,7 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac /** * Set the ParameterNameDiscoverer to use for resolving method parameter * names if needed (e.g. for constructor names). - *
Default is none. A typical candidate is - * {@link org.springframework.core.LocalVariableTableParameterNameDiscoverer}, - * which implies an ASM dependency and hence isn't set as the default. + *
The default is {@link LocalVariableTableParameterNameDiscoverer}. */ public void setParameterNameDiscoverer(ParameterNameDiscoverer parameterNameDiscoverer) { this.parameterNameDiscoverer = parameterNameDiscoverer; diff --git a/org.springframework.beans/src/test/java/org/springframework/beans/factory/DefaultListableBeanFactoryTests.java b/org.springframework.beans/src/test/java/org/springframework/beans/factory/DefaultListableBeanFactoryTests.java index f65f0ae2927..31e92fa1f11 100644 --- a/org.springframework.beans/src/test/java/org/springframework/beans/factory/DefaultListableBeanFactoryTests.java +++ b/org.springframework.beans/src/test/java/org/springframework/beans/factory/DefaultListableBeanFactoryTests.java @@ -1350,7 +1350,6 @@ public class DefaultListableBeanFactoryTests { @Test public void testAutowireBeanByTypeWithTwoMatchesAndParameterNameDiscovery() { DefaultListableBeanFactory lbf = new DefaultListableBeanFactory(); - lbf.setParameterNameDiscoverer(new LocalVariableTableParameterNameDiscoverer()); RootBeanDefinition bd = new RootBeanDefinition(TestBean.class); RootBeanDefinition bd2 = new RootBeanDefinition(TestBean.class); lbf.registerBeanDefinition("test", bd); diff --git a/org.springframework.beans/src/test/java/org/springframework/beans/factory/xml/FactoryMethodTests.java b/org.springframework.beans/src/test/java/org/springframework/beans/factory/xml/FactoryMethodTests.java index ed0933f079a..5ecb0d7bd71 100644 --- a/org.springframework.beans/src/test/java/org/springframework/beans/factory/xml/FactoryMethodTests.java +++ b/org.springframework.beans/src/test/java/org/springframework/beans/factory/xml/FactoryMethodTests.java @@ -107,7 +107,6 @@ public class FactoryMethodTests { @Test public void testFactoryMethodsWithNullValue() { DefaultListableBeanFactory xbf = new DefaultListableBeanFactory(); - xbf.setParameterNameDiscoverer(new LocalVariableTableParameterNameDiscoverer()); XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(xbf); reader.loadBeanDefinitions(new ClassPathResource("factory-methods.xml", getClass())); diff --git a/org.springframework.beans/src/test/java/org/springframework/beans/factory/xml/SimpleConstructorNamespaceHandlerTests.java b/org.springframework.beans/src/test/java/org/springframework/beans/factory/xml/SimpleConstructorNamespaceHandlerTests.java index 86ddda5642e..8cc4596a33d 100644 --- a/org.springframework.beans/src/test/java/org/springframework/beans/factory/xml/SimpleConstructorNamespaceHandlerTests.java +++ b/org.springframework.beans/src/test/java/org/springframework/beans/factory/xml/SimpleConstructorNamespaceHandlerTests.java @@ -103,7 +103,7 @@ public class SimpleConstructorNamespaceHandlerTests { private XmlBeanFactory createFactory(String resourceName) { XmlBeanFactory fact = new XmlBeanFactory(new ClassPathResource(resourceName, getClass())); - fact.setParameterNameDiscoverer(new LocalVariableTableParameterNameDiscoverer()); + //fact.setParameterNameDiscoverer(new LocalVariableTableParameterNameDiscoverer()); return fact; } } \ No newline at end of file diff --git a/org.springframework.context/src/main/java/org/springframework/context/support/AbstractRefreshableApplicationContext.java b/org.springframework.context/src/main/java/org/springframework/context/support/AbstractRefreshableApplicationContext.java index 5264b81f0d1..9cbfcdddb0d 100644 --- a/org.springframework.context/src/main/java/org/springframework/context/support/AbstractRefreshableApplicationContext.java +++ b/org.springframework.context/src/main/java/org/springframework/context/support/AbstractRefreshableApplicationContext.java @@ -216,7 +216,6 @@ public abstract class AbstractRefreshableApplicationContext extends AbstractAppl if (this.allowCircularReferences != null) { beanFactory.setAllowCircularReferences(this.allowCircularReferences); } - beanFactory.setParameterNameDiscoverer(new LocalVariableTableParameterNameDiscoverer()); beanFactory.setAutowireCandidateResolver(new QualifierAnnotationAutowireCandidateResolver()); } diff --git a/org.springframework.context/src/main/java/org/springframework/context/support/GenericApplicationContext.java b/org.springframework.context/src/main/java/org/springframework/context/support/GenericApplicationContext.java index 3dc7d1cf8d1..8a5da83ddc4 100644 --- a/org.springframework.context/src/main/java/org/springframework/context/support/GenericApplicationContext.java +++ b/org.springframework.context/src/main/java/org/springframework/context/support/GenericApplicationContext.java @@ -101,7 +101,6 @@ public class GenericApplicationContext extends AbstractApplicationContext implem */ public GenericApplicationContext() { this.beanFactory = new DefaultListableBeanFactory(); - this.beanFactory.setParameterNameDiscoverer(new LocalVariableTableParameterNameDiscoverer()); this.beanFactory.setAutowireCandidateResolver(new QualifierAnnotationAutowireCandidateResolver()); }