我之前已经从事过Spring项目,您可以在其中创建一个ObjectMapper bean。
使用Bean的优点是易于测试,并且配置简单。
我当前的项目涉及JEE Weblogic环境。我无法像在Spring中那样从ObjectMapper创建一个bean,因为ObjectMapper具有JEE不喜欢的最终方法。 我试图扩展在构造函数中配置它的ObjectMapper。
我已经找到了ContextResolver解决方案,用于在其余接口中注册自定义序列化程序,但是我希望有一个可重用的,依赖项注入的,预先配置的ObjectMapper,因为我们还对应用程序其他部分中的对象进行了序列化。
有可能实现这一目标吗?
如果我错过了什么,这是一个糟糕的主意,我也想知道为什么。
提前致意和感谢,
约翰尼斯
答案 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;
...
}