Fastjson2Plugin.java
package com.alibaba.fastjson2.support.solon.integration;
import com.alibaba.fastjson2.support.solon.Fastjson2EntityConverter;
import com.alibaba.fastjson2.support.solon.Fastjson2StringSerializer;
import org.noear.solon.core.AppContext;
import org.noear.solon.core.Plugin;
import org.noear.solon.serialization.SerializerNames;
import org.noear.solon.serialization.prop.JsonProps;
/**
* Fastjson2 for solon extension integration plugin
*
* @author noear
* */
public class Fastjson2Plugin
implements Plugin {
@Override
public void start(AppContext context) {
JsonProps jsonProps = JsonProps.create(context);
//::serializer
Fastjson2StringSerializer serializer = new Fastjson2StringSerializer(jsonProps);
context.wrapAndPut(Fastjson2StringSerializer.class, serializer); //������������
context.app().serializers().register(SerializerNames.AT_JSON, serializer);
//::entityConverter
Fastjson2EntityConverter entityConverter = new Fastjson2EntityConverter(serializer);
context.wrapAndPut(Fastjson2EntityConverter.class, entityConverter); //������������
context.app().chains().addEntityConverter(entityConverter);
}
}