[SPRING] Spring XML 기반에서 Java 기반 구성으로 변환
SPRINGSpring XML 기반에서 Java 기반 구성으로 변환
xml을 사용하지 않으려 고합니다.
<bean id="restTemplate" class="org.springframework.web.client.RestTemplate">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.xml.MarshallingHttpMessageConverter">
<property name="marshaller" ref="jaxbMarshaller"/>
<property name="unmarshaller" ref="jaxbMarshaller"/>
</bean>
<bean class="org.springframework.http.converter.FormHttpMessageConverter"/>
</list>
</property>
</bean>
이 것을 좋아해요. @Bean으로 변환하십시오.
@Bean
public RestTemplate restTemplate() {
RestTemplate restTemplate = new RestTemplate();
List<HttpMessageConverter<?>> converters = new ArrayList<HttpMessageConverter<?>>();
converters.add(marshallingMessageConverter());
restTemplate.setMessageConverters(converters);
return restTemplate;
}
여기 문제가있어.
<bean id="jaxbMarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="classesToBeBound">
<list>
<value>com.cloudlb.domain.User</value>
</list>
</property>
</bean>
"com.cloudlb.domain.User"를 Class []가 아닌 work로 변환하십시오.
@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);
}
오류 : 전송에 문제가 있습니다.
미리 감사드립니다.
해결법
-
==============================
1.
@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; }
-
==============================
2.setClassesToBeBound는 vararg 목록을 취하므로 다음과 같이하면됩니다.
setClassesToBeBound는 vararg 목록을 취하므로 다음과 같이하면됩니다.
Jaxb2Marshaller marshaller = new Jaxb2Marshaller(); marshaller.setClassesToBeBound(User.class);
from https://stackoverflow.com/questions/8717992/convert-spring-xml-based-to-java-based-configuration by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 최대 절전 모드로 열 수 줄이기 (0) | 2019.04.10 |
---|---|
[SPRING] 흐름 외부에서 Spring Webflow FlowScope 요소에 어떻게 액세스 할 수 있습니까? (0) | 2019.04.10 |
[SPRING] 어노테이션 기반 설정을 사용하여 느리게 초기화 된 스프링 빈 생성하기 (0) | 2019.04.10 |
[SPRING] 응답하지 않는 반응하는 WebClient (0) | 2019.04.09 |
[SPRING] 입력 된 필드의 길이를 나타 내기 위해 Hibernate @Size 오류 메시지를 커스터마이징하는 방법 (0) | 2019.04.09 |