将基于Spring的Spring转换为基于Java的配置
我尽量不使用任何xml。
像这样:转换为@Bean
@Bean public RestTemplate restTemplate() { RestTemplate restTemplate = new RestTemplate(); List<HttpMessageConverter> converters = new ArrayList<HttpMessageConverter>(); converters.add(marshallingMessageConverter()); restTemplate.setMessageConverters(converters); return restTemplate; }
问题在这里。
com.cloudlb.domain.User
尝试将“com.cloudlb.domain.User”转换为Class []而不是工作。
@Bean public MarshallingHttpMessageConverter marshallingMessageConverter() { Jaxb2Marshaller marshaller = new Jaxb2Marshaller(); // List<Class> listClass = new ArrayList<Class>(); listClass.add(User.class); marshaller.setClassesToBeBound((Class[])listClass.toArray()); // -------------------------------- return new MarshallingHttpMessageConverter(marshaller, marshaller); }
错误:投射问题。
先谢谢你。
@Bean public MarshallingHttpMessageConverter marshallingMessageConverter() { return new MarshallingHttpMessageConverter( jaxb2Marshaller(), jaxb2Marshaller() ); } @Bean public Jaxb2Marshaller jaxb2Marshaller() { Jaxb2Marshaller marshaller = new Jaxb2Marshaller(); marshaller.setClassesToBeBound(new Class[]{ twitter.model.Statuses.class }); return marshaller; }
setClassesToBeBound
采用vararg列表,所以你可以这样做:
Jaxb2Marshaller marshaller = new Jaxb2Marshaller(); marshaller.setClassesToBeBound(User.class);