Внедрение в Джексон сериализаторJAVA

Программисты JAVA общаются здесь
Anonymous
 Внедрение в Джексон сериализатор

Сообщение Anonymous »

У меня есть сервис Crud в Spring Boot, и я использую пользовательский сериализатор с классом, который расширяет Jsonserializer . Я хочу использовать эту услугу CRUD, когда мой класс сериализован, но я без успеха попробовал несколько подходов. Не могли бы вы помочь мне с этим на форуме? »< /P>

Код: Выделить всё

@Component// Reemplaza @Component para que Spring registre este serializadorpublic class Template1Serializer extends JsonSerializer implements ApplicationContextAware  {
//private static ApplicationContext applicationContext;
private  CustomerUserServiceIMPL customerUserServiceIMPL;

public Template1Serializer() {
// Obtener el servicio manualmente desde el contexto de Spring

// this.customerUserServiceIMPL = ApplicationContextProvider.getBean(CustomerUserServiceIMPL.class);
}

@PostConstruct
public void init() {
// Usamos ApplicationContextProvider para obtener el servicio después de la inicialización de Spring
this.customerUserServiceIMPL = ApplicationContextProvider.getBean(CustomerUserServiceIMPL.class);
}

/*  @Override
public void setApplicationContext(ApplicationContext context) throws BeansException {applicationContext = context;this.customerUserServiceIMPL = applicationContext.getBean(CustomerUserServiceIMPL.class);}*/

@Override
public void serialize(Template1 template1, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
String usuario=";";
if (this.customerUserServiceIMPL == null) {
System.out.println("CustomerUserServiceIMPL es null en serialize()");
jsonGenerator.writeStartObject();
jsonGenerator.writeStringField("body", template1.getTemplateText() + " - Mensaje añadido serializador"+usuario+"no hay nada");
jsonGenerator.writeEndObject();
} else {
System.out.println("CustomerUserServiceIMPL está disponible en serialize()");
String usuario2=getuser();
jsonGenerator.writeStartObject();
System.out.println("deberia añadir "+usuario2);
jsonGenerator.writeStringField("body", template1.getTemplateText() + " - Mensaje añadido serializador"+usuario2+"final");
jsonGenerator.writeEndObject();
}

}

private String  getuser() {
System.out.println("Servicio ejecutado");
Optional profiletest = customerUserServiceIMPL.getCustomerFromPhonenunmber("573248324121");
if (profiletest.isPresent()) {
System.out.println(profiletest.get().getCustomerName());
System.out.println(profiletest.get().getCedula());
String retorno="hola querido usuario tu nombre es "+profiletest.get().getCustomerName()+"y tu cedula es"+profiletest.get().getCedula();
return retorno;

} else {
System.out.println("No se encontró el perfil.");
return  null;
}
}
Я попытался использовать @autowired и ApplicationContextProvider , но я не мог заставить его работать. »
Эта версия Делает вашу попытку и задачу, с которой вы сталкиваетесь с ясностью.>

Подробнее здесь: https://stackoverflow.com/questions/794 ... serializer

Вернуться в «JAVA»