我是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>
答案 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类传递的测试用例将证明您做对了。