首页 > 解决方案 > 如何将 xml 配置 bean 转换为 java 注释 bean ( spring boot )

问题描述

我是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>

标签: javaxmlspringannotations

解决方案


当人们谈论从 XML 转换时,他们并不意味着一定要完全做同样的事情。Spring Boot 吸引人的不仅仅是配置是一个 java 类。

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

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

Rest 模板 - XML 缩进

一个通过 XML 并通过 @Configuration 类传递的好测试用例将证明你做对了。


推荐阅读