Inspectopedia Help

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