如何将xml配置Bean转换为Java注释Bean(Spring Boot)

时间:2019-03-26 02:32:51

标签: java xml spring annotations

我是Java AOP的新手。我应该在我的Spring Boot应用程序中将以下xml配置转换为Java注解配置。我可以知道如何确切地将此xml配置转换为Java注释配置:

我认为我在stackoverflow中看到的所有示例都与我尝试转换的模式不匹配。

    <bean id="xyzRestTemplate" 
          class="org.springframework.web.client.RestTemplate">
    <constructor-arg ref="xyzClientHttpRequestFactory" />
    <property name="messageConverters">
    <list>
        <bean class="org.springframework.http.converter.xml.MarshallingHttpMessageConverter">
 <property name="marshaller" ref="jaxbDataMarshaller" />
 <property name="unmarshaller" ref="jaxbDataMarshaller" />
       </bean>
  </list>
</property>
<property name="interceptors">
<list>
<bean class="com.example.XYZHeaderRequestInterceptor" />
</list>
    </property>
  </bean>
 <bean id="jaxbDataMarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="contextPaths">
   <list>
       <value>com.a.b.c.d.v2</value>
   </list>
 </property> </bean>

1 个答案:

答案 0 :(得分:0)

当人们谈论从XML转换时,它们并不意味着一定要完全做同样的事情。使Spring Boot有吸引力的原因不仅仅是配置是Java类。

您应该将其转换为使用RestTemplate https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-resttemplate.html

然后,您只需使用构建器构建RestTemplate即可获得所需的JaxB编组器和拦截器。

Rest Template - XML Indentation

一个很好的用XML传递和@Configuration类传递的测试用例将证明您做对了。