Printemps 3.2 et Jackson 2: ajouter un objet personnalisé mappeur

Je suis l'élaboration d'un RESTE d'un webservice dans spring MVC. J'ai besoin de changer la façon dont jackson 2 sérialiser mongodb objectids. Je ne suis pas sûr de savoir quoi faire parce que j'ai trouvé partielle de la documentation pour jackson 2, ce que j'ai fait est de créer un personnalisé sérialiseur:

public class ObjectIdSerializer extends JsonSerializer<ObjectId> {


    @Override
    public void serialize(ObjectId value, JsonGenerator jsonGen,
            SerializerProvider provider) throws IOException,
            JsonProcessingException {
        jsonGen.writeString(value.toString());
    }
}

Créer un ObjectMapper

public class CustomObjectMapper extends ObjectMapper {

    public CustomObjectMapper() {
        SimpleModule module = new SimpleModule("ObjectIdmodule");
        module.addSerializer(ObjectId.class, new ObjectIdSerializer());
        this.registerModule(module);
    }

}

puis enregistrer le mappeur de

<mvc:annotation-driven>
    <mvc:message-converters register-defaults="true">
        <bean
            class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
            <property name="objectMapper">
                <bean class="my.package.CustomObjectMapper"></bean>
            </property>
        </bean>
    </mvc:message-converters>
</mvc:annotation-driven>

Mon CustomConverter n'est jamais appelée. Je pense que le CustomObjectMapper définition est fausse,je me suis adapté à partir de quelques lignes de codes pour jackson 1.x

Dans mes contrôleurs, je suis en utilisant @ResponseBody.
Où suis-je fais de mal? Grâce

Sérialiseur et d'enregistrement de corriger pour moi, alors je pense que le problème réside dans la configuration xml.
Yep, merci pour la suggestion, j'ai eu un vide <mvc:annotation-driven> tag autour du fichier. Ça fonctionne maintenant
Pour info les docs disent utiliser StdSerializer à la place: fasterxml.github.io/jackson-databind/javadoc/2.0.0/com/...
Je vais avoir un problème similaire. Pouvez-vous s'il vous plaît poster final de votre solution de travail?
Dans mon projet, nous avons étend StdSerializer au lieu de JsonSerializer, mais ce n'est pas le problème. Assurez-vous que vous utilisez com.fasterxml.* les classes et pas vieux org.codehaus.* les classes?

OriginalL'auteur alex | 2013-01-16