自定義註解實現jackson序列化和反序列化

2021-10-09 03:26:35 字數 2001 閱讀 4167

jackson序列化需要在自定義註解上面加上@jsonserialize(using = imageurlserialize.class)

imageurlserialize是自定義的註解要做的事情實現

/**

* 序列化註解

*/@retention(retentionpolicy.runtime)

@jacksonannotationsinside

@jsonserialize(using = imageurlserialize.class)

public @inte***ce imageurl

繼承jsonserializer,jackson序列化會觸發此方法,對值進行修改

實現 contextualserializer 解析自定義註解引數值,可以把需要改變的值定義到註解引數裡面

public class imageurlserialize extends jsonserializerimplements contextualserializer 

public imageurlserialize()

@override

public void serialize(string value, jsongenerator jsongenerator, serializerprovider serializerprovider) throws ioexception else

}jsongenerator.writestring(url);

}@override

if (beanproperty != null)

if (imageurl != null)

}return serializerprovider.findvalueserializer(beanproperty.gettype(), beanproperty);

}return serializerprovider.findnullvalueserializer(beanproperty);

}}

jackson反序列化需要在自定義註解上面加上@jsondeserialize(using = imageurldeserializer.class)

imageurldeserializer是自定義的註解要做的事情實現

/**

* 反序列化註解

*/@retention(retentionpolicy.runtime)

@jacksonannotationsinside

@jsondeserialize(using = imageurldeserializer.class)

public @inte***ce deserializeimageurl

繼承jsondeserializer,jackson反序列化會觸發此方法,對值進行修改

實現 contextualserializer 解析自定義註解引數值,可以把需要改變的值定義到註解引數裡面

public class imageurldeserializer extends jsondeserializerimplements contextualserializer 

} else

} catch (exception e)

return null;

}@override

if (beanproperty != null)

if (imageurl != null)

}return serializerprovider.findvalueserializer(beanproperty.gettype(), beanproperty);

}return serializerprovider.findnullvalueserializer(beanproperty);

}}

springboot AOP實現自定義註解新增驗證

1 新增pom.xml org.springframework.boot spring boot starter aop 2 新增註解類 自定義註解 用於驗證呼叫許可權 retention retentionpolicy.runtime target elementtype.method publi...

自定義註解 lock aop實現註解鎖

1 自定義的鎖註解 target retention retentionpolicy.runtime documented public inte ce servicelock2 aop切面 component scope aspect order 1 order越小越是最先執行,但更重要的是最先執...

自定義註解

target elementtype.field retention retentionpolicy.runtime public inte ce setvalue以上就是乙個自定義的註解,下面來進行說明。target elementtype.field 表示支援該註解的程式元素,field就是屬性...