web-dev-qa-db-ja.com

クラス値をSpringBeanプロパティに設定するにはどうすればよいですか?

ねえ、クラスの値でBeanのプロパティを設定する最良の方法は何ですか? XML構成について。このような豆の場合:

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

クラス名を挿入するだけで、SpringはそれをClassオブジェクトに変換します。

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

クラス名を入力するだけです。 clazzString.classにしたいとします。

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

Springには、変換を処理する PropertyEditorSupport という実装があります ClassEditor

9
laz