为 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 方法
      <!-- 有参数 -->
      <lookup-method bean="fooBean" name="createWithArgs"/>// 方法必须没有参数
      <!-- 不存在 -->
      <lookup-method bean="fooBean" name="unknown"/>  // 未知方法
      <!-- 不匹配 -->
      <lookup-method bean="fooBean" name="createOtherBean"/> // 查找方法返回类型与 “FooBean” Bean 类不匹配
    </bean>

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