Incorrectly configured XML bean lookup-method
Reports incorrect <lookup-method> for a bean in XML application contexts.
Example:
public abstract class FooLookupBean {
protected abstract FooBean createCommand();
private FooBean createCommand() {...}
protected static FooBean createCommandStatic() {...}
protected abstract FooBean createWithArgs(String foo);
protected abstract OtherBean createOtherBean();
}
<beans>
<bean class="FooLookupBean" id="lookupTest">
<lookup-method bean="fooBean" name="createCommand"/>
<!-- private -->
<lookup-method bean="fooBean" name="createCommand"/> <!-- "Method must be public or protected" -->
<!-- static -->
<lookup-method bean="fooBean" name="createCommandStatic"/> <!-- Static method not allowed here -->
<!-- with arguments -->
<lookup-method bean="fooBean" name="createWithArgs"/> <!-- Method must have no parameters -->
<!-- not exist -->
<lookup-method bean="fooBean" name="unknown"/> <!-- unknown method -->
<!-- mismatch -->
<lookup-method bean="fooBean" name="createOtherBean"/> <!-- Lookup method return type does not match the 'FooBean' bean class -->
</bean>
<bean class="FooBean" id="fooBean"/>
<bean class="OtherBean" id="otherBean"/>
</beans>
Inspection Details | |
---|---|
Available in: | IntelliJ IDEA 2023.3, Qodana for JVM 2023.3 |
Plugin: | Spring, 233.SNAPSHOT |
Last modified: 13 July 2023