Ответ 1
Просто введите имя класса, а Spring преобразует его в объект Class
для вас, например.
<bean class="com.x.y.FilterJsonView">
<property name="clazz" value="com.x.y.SomeClass"/>
</bean>
Эй, какой лучший способ установить свойство bean со значением класса? Что касается конфигурации XML. Для bean:
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;
}
}
Просто введите имя класса, а Spring преобразует его в объект Class
для вас, например.
<bean class="com.x.y.FilterJsonView">
<property name="clazz" value="com.x.y.SomeClass"/>
</bean>
Просто укажите имя класса. Предположим, что clazz
String.class
:
<bean id="beanId" class="FilterJsonView">
<property name="clazz" value="java.lang.String"/>
</bean>
Spring имеет PropertyEditorSupport
реализация, называемая ClassEditor
, который обрабатывает преобразования.