在Spring Jaxb2RootElementHttpMessageConverter中禁用XML eXternal实体的替换

时间:2015-05-11 15:15:40

标签: java spring spring-mvc jaxb2

我有一个基于注释的Spring Web应用程序控制器,它将XML映射到带注释的普通旧Java对象。示例性代码如下:

@Controller
@RequestMapping("/")
public class Endpoint {

    @RequestMapping
    public void send(...) {
        ...
    } 
    ...

映射是通过 Jaxb2RootElementHttpMessageConverter 自动完成的,此时可以引用和替换收到的XML中的内容。

我的问题是,是否可以 - 例如通过beans.xml - 配置 Jaxb2RootElementHttpMessageConverter ,以防止实体替换?

转换器由Spring自动创建。

1 个答案:

答案 0 :(得分:1)

如果要覆盖spring创建的bean,只需定义自己的相同类型的bean即可。另外你可以将它标记为@Primary。我还没有尝试使用Jaxb2RootElementHttpMessageConverter,但它可以使用ObjectMapper,如下所述:

http://docs.spring.io/spring-boot/docs/current/reference/html/howto-spring-mvc.html#howto-customize-the-jackson-objectmapper