我有一个基于 Spring Data REST示例项目的工作项目,我正在尝试使用基于此wiki 页面的Jackson 模块进行自定义序列化。
这是我的杰克逊模块:
public class CustomModule extends SimpleModule {
public static Logger logger = LoggerFactory.getLogger(CustomModule.class);
public CustomModule() {
super("CustomModule", new Version(1, 0, 0, null));
}
@Override
public void setupModule(SetupContext context) {
logger.debug("CustomModule.setupModule");
SimpleSerializers simpleSerializers = new SimpleSerializers();
simpleSerializers.addSerializer(new CustomDateTimeSerializer());
context.addSerializers(simpleSerializers);
}
}
维基页面说:
在您的 ApplicationContext 范围内声明的任何 Module bean 都将被导出器拾取并在其 ObjectMapper 中注册。
我对 Spring 还是很陌生,所以我可能只是把我的模块 bean 定义放在了错误的地方;目前它在 中src/main/resources/META-INF/spring-data-rest/shared.xml
,它是从以下位置导入的repositories-export.xml
:
<bean id="customModule" class="org.hierax.wpa.schema.mapping.CustomModule" />
我没有在 中看到日志语句setupModule
,但我确实看到了同一包中其他类的日志输出。
我正在使用 Spring Data REST 1.0.0.RC2。