小于 1 分钟
请先读我
内置注解都是从 @XtreamField
注解扩展而来的。目前有两种风格的注解:
Rust
数据类型命名风格JT/T 808
协议数据类型命名风格
提示
- 强烈推荐优先使用
Rust
风格内置注解- 数据类型比较全面
JT/T 808
风格的注解只支持无符号,因为JT/T 808
官方文档里都是无符号数
- 支持小端序
- 数据类型比较全面
- 不推荐直接使用底层的
@XtreamField
注解- 虽然功能最完整,但是使用略显繁琐
- 但是如果你要自定义注解,那非常推荐使用
@XtreamField
来进行扩展
大约 4 分钟
自定义注解都是通过元注解 @XtreamField
的来实现的。
本示例将演示通过 @XtreamField
来实现一个自定义的日期注解。
注解定义
注解声明
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@XtreamField(fieldCodec = MyDateTypeFieldCodec.class, dataType = BeanPropertyMetadata.FiledDataType.basic)
public @interface MyDateType {
@AliasFor(annotation = XtreamField.class, attribute = "order")
int order() default -1;
@AliasFor(annotation = XtreamField.class, attribute = "condition")
String condition() default "";
}
大约 1 分钟
介绍
@XtreamField
是最基础的注解。
内置的 别名(Alias) 注解 @Preset.RustStyle.xxx
和 @Preset.JtStyle.xxx
都是基于 @XtreamField
这个基础注解 衍生 的。
提示
注解别名都是依赖于 Spring
的 @org.springframework.core.annotation.AliasFor
注解实现的。
大约 2 分钟