Spring将正确的bean引用指定为工厂方法参数

mko*_*han 5 spring-mvc

如何在Spring中使用Abstrarct工厂方法模式时指定正确的bean参考.

我在Spring上得到了构造函数参数错误dispatcher-servlet.xml.

错误:

不明确的工厂方法参数类型 - 您是否将正确的bean引用指定为工厂方法参数?

short dispatcher-servlet.xml

<bean id="myFactory" class="cwsei.spring.dao.CategoryFactory" factory-method="findCategory">
<constructor-arg type="java.lang.Enum" value="${categoryType}" />
</bean>
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

public abstract class Category {
public abstract List list(int departId);
..
}
public class CategoryFactory {

public enum CategoryType { firstclass,secondClass,...}

public static Category findCategory(CategoryType categoryType) {
...
}
}
Run Code Online (Sandbox Code Playgroud)

谢谢,mkohan

har*_*are 3

如果您的 findCategory 工厂采用给定的枚举,那么 Spring 会为您完成这一切。

例如

public class enum X { A, B }
public CategoryFactory findCategory( X someX ) 
Run Code Online (Sandbox Code Playgroud)

现在是春天

<constructor-arg value="A" />
Run Code Online (Sandbox Code Playgroud)