2011-04-29 75 views
15

嘿,用Class值设置bean属性的最佳方式是什么?关于XML配置。对于这样一个bean:如何设置Spring bean属性的Class值?

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; 
    } 
} 

回答

29

刚注入的类名,Spring将其转换为Class对象的你,如

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

我应该接受哪个答案?更早或更准确的:)? – lisak 2011-04-29 16:08:02

+2

我会说,无论哪个人看起来对你而言最为正确,对于你正在做的事情。总体而言,我们的目标是通过找到“最佳”答案来帮助社区。 – rfeak 2011-04-29 16:17:37

8

只提供类名。假设你想clazzString.class

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

春天有PropertyEditorSupport实现所谓ClassEditor处理该转换。

相关问题