我想在 Spring 配置中注册 XStream JavaBeanConverter。我看到如下注册 JavaBeanConverter 的测试示例。
xstream.registerConverter(new JavaBeanConverter(xstream.getClassMapper(), "class"), -20);
但是如何在我的 spring 配置中设置它。
目前我的弹簧配置设置如下
<bean
class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="order" value="1" />
<property name="mediaTypes">
<map>
<entry key="json" value="application/json" />
<entry key="xml" value="application/xml" />
</map>
</property>
<property name="defaultViews">
<list>
<bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" >
<property name="renderedAttributes" value="document" />
</bean>
<bean class="org.springframework.web.servlet.view.xml.MarshallingView">
<property name="marshaller">
<bean class="org.springframework.oxm.xstream.XStreamMarshaller" p:autodetectAnnotations="true">
<property name="encoding" value="UTF-8" />
</bean>
</property>
<property name="contentType" value="application/xml;charset=UTF-8" />
<property name="modelKey" value="person" />
</bean>
</list>
</property>
<property name="ignoreAcceptHeader" value="true" />
</bean>
我正在为 Alias 和 Converter 使用 xstream 注释。
我尝试从 JavaBeanConverter 扩展我的自定义转换器。它可以很好地序列化普通属性,但我希望它序列化 getXXX 方法。
public class MyCustomConverter extends JavaBeanConverter {
public MyCustomConverter(Mapper mapper) {
super(mapper);
}
@Override... marshal.. unmarshal... canConvert methods...
}
非常感谢!