2011-04-29 36 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處理該轉換。

相關問題