将基于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);