Come specificare i rifrattivi dei bean corretti, Quando utilizzo il pattern del metodo factory Abstrarct con Spring.Spring specifica i riferimenti bean corretti come argomenti del metodo factory
Ottengo gli errori degli argomenti del costruttore sulla sorgente dispatcher-servlet.xml
.
gli errori:
ambigui fabbrica tipi metodo argomento - lo specificano i riferimenti di fagioli corretti come argomenti di metodo fabbrica?
breve dispatcher-servlet.xml
<bean id="myFactory" class="cwsei.spring.dao.CategoryFactory" factory-method="findCategory">
<constructor-arg type="java.lang.Enum" value="${categoryType}" />
</bean>
Ecco il mio codice:
public abstract class Category {
public abstract List list(int departId);
..
}
public class CategoryFactory {
public enum CategoryType { firstclass,secondClass,...}
public static Category findCategory(CategoryType categoryType) {
...
}
}
Grazie, mkohan
Non voglio avviare un valore per l'argomento. Voglio che il metodo Abstract factory passi quel valore in fase di esecuzione. Devo iniziare un valore per argomento? – mkohan
Tutto di Spring è in fase di esecuzione. Sospetto che tu ti riferisca alla sostituzione delle variabili, basta rimuovere l'attributo type dal tag constructor-arg. – harschware
Ho modificato questo: Ho ricevuto questi errori: Errore nella creazione di bean con nome 'myFactory' definito nella risorsa ServletContext: Dipendenza insoddisfatta espressa tramite argomento costruttore con indice 0 di tipo [CategoryFactory $ CategoryType]: Impossibile convertire il valore dell'argomento del metodo factory di tipo [java.lang.String] nel tipo richiesto [CategoryFactory $ CategoryType]: Impossibile convertire il valore di tipo 'java.lang.String' nel tipo richiesto'CategoryFactory $ CategoryType '; –
mkohan