EJB对象映射器

时间:2018-10-09 14:46:06

标签: java-ee dependency-injection jackson weblogic12c

我之前已经从事过Spring项目,您可以在其中创建一个ObjectMapper bean。

使用Bean的优点是易于测试,并且配置简单。

我当前的项目涉及JEE Weblogic环境。我无法像在Spring中那样从ObjectMapper创建一个bean,因为ObjectMapper具有JEE不喜欢的最终方法。 我试图扩展在构造函数中配置它的ObjectMapper。

我已经找到了ContextResolver解决方案,用于在其余接口中注册自定义序列化程序,但是我希望有一个可重用的,依赖项注入的,预先配置的ObjectMapper,因为我们还对应用程序其他部分中的对象进行了序列化。

有可能实现这一目标吗?

如果我错过了什么,这是一个糟糕的主意,我也想知道为什么。

提前致意和感谢,

约翰尼斯

1 个答案:

答案 0 :(得分:0)

所以我找到了问题和解决方法。

ObjectMapper具有EJB不支持的最终方法。

解决方案是使用CDI创建ObjectMapper bean,并使用@Inject进行注入:

@ApplicationScoped
public class SerializerConfig {

    @Produces
    public ObjectMapper objectMapper() {
        return new ObjectMapper();
    }
}

现在ObjectMapper是可注射的:

public class ObjectMapperUser {

    @Inject
    private ObjectMapper objectMapper;
    ...
}