protected @Autowired method can be overridden with non-annotated method to suppress injection; private @Autowired methods with same signature will be called individually across a hierarchy (SPR-6112)
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2008 the original author or authors.
|
||||
* Copyright 2002-2009 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -21,7 +21,7 @@ import java.lang.reflect.Field;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Member;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.Set;
|
||||
@@ -83,7 +83,7 @@ public class InjectionMetadata {
|
||||
doRegisterConfigMembers(beanDefinition, this.injectedMethods);
|
||||
}
|
||||
|
||||
private void doRegisterConfigMembers(RootBeanDefinition beanDefinition, Set<InjectedElement> members) {
|
||||
private void doRegisterConfigMembers(RootBeanDefinition beanDefinition, Collection<InjectedElement> members) {
|
||||
for (Iterator<InjectedElement> it = members.iterator(); it.hasNext();) {
|
||||
Member member = it.next().getMember();
|
||||
if (!beanDefinition.isExternallyManagedConfigMember(member)) {
|
||||
@@ -231,15 +231,7 @@ public class InjectionMetadata {
|
||||
return false;
|
||||
}
|
||||
InjectedElement otherElement = (InjectedElement) other;
|
||||
if (this.isField) {
|
||||
return this.member.equals(otherElement.member);
|
||||
}
|
||||
else {
|
||||
return (otherElement.member instanceof Method &&
|
||||
this.member.getName().equals(otherElement.member.getName()) &&
|
||||
Arrays.equals(((Method) this.member).getParameterTypes(),
|
||||
((Method) otherElement.member).getParameterTypes()));
|
||||
}
|
||||
return this.member.equals(otherElement.member);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user