报告 XML 应用程序上下文中 Bean 的不正确 <lookup-method>

示例:


  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"/> <!-- “方法必须为 public 或 protected” -->
      <!-- static -->
      <lookup-method bean="fooBean" name="createCommandStatic"/> <!-- 此处不允许使用 static 方法 -->
      <!-- with arguments -->
      <lookup-method bean="fooBean" name="createWithArgs"/> <!-- 方法不得有形参 -->
      <!-- not exist -->
      <lookup-method bean="fooBean" name="unknown"/> <!-- 未知方法 -->
      <!-- mismatch -->
      <lookup-method bean="fooBean" name="createOtherBean"/> <!-- Lookup 方法返回值类型与 'FooBean' Bean 类不匹配 -->
    </bean>

    <bean class="FooBean" id="fooBean"/>
    <bean class="OtherBean" id="otherBean"/>
  </beans>