2011-04-29 16 views
15

Oye, ¿cuál es la mejor manera de establecer la propiedad de un grano con el valor de Clase? En cuanto a la configuración XML. Para un grano de la siguiente manera:¿Cómo establecer el valor de clase para la propiedad de bean de primavera?

public class FilterJsonView extends MappingJacksonJsonView { 

    private Set<String> filteredAttributes; 
    private Class clazz; 

    public Set<String> getFilteredAttributes() { 
     return filteredAttributes; 
    } 

    public void setFilteredAttributes(Set<String> filteredAttributes) { 
     this.filteredAttributes = filteredAttributes; 
    } 

    public Class getClazz() { 
     return clazz; 
    } 

    public void setClazz(Class clazz) { 
     this.clazz = clazz; 
    } 
} 

Respuesta

29

Sólo inyectar el nombre de la clase, y la primavera lo convertirá en un objeto Class para usted, por ejemplo,

<bean class="com.x.y.FilterJsonView"> 
    <property name="clazz" value="com.x.y.SomeClass"/> 
</bean> 
+1

¿Qué respuesta debo aceptar? Cuanto antes o más exacto :)? – lisak

+2

Yo diría cuál te parece más correcto y qué estás haciendo. En general, el objetivo es ayudar a la comunidad encontrando las "mejores" respuestas. – rfeak

8

Solo complete el nombre de la clase. Decir que quiere ser clazzString.class:

<bean id="beanId" class="FilterJsonView"> 
    <property name="clazz" value="java.lang.String"/> 
</bean> 

resorte tiene una aplicación llamada PropertyEditorSupportClassEditor que se encarga de las conversiones.

Cuestiones relacionadas