Annotation Interface Echo


@Retention(RUNTIME) @Target({METHOD,TYPE,FIELD}) public @interface Echo
在某个对象的字段上标记该注解,该字段的值将被主动注入

如: \@Echo(api = "dictionaryServiceImpl") private String nation; \@Echo(api = "dictionaryApi") private String nation; \@Echo(api = "xxx.xxx.xxx.UserApi", beanClass = User.class) private Long userId;

强烈建议:不要对象之间互相依赖 如: User 想要注入 File, File也想注入User

作者:
zuihou
  • 必需元素概要

    所需元素
    修饰符和类型
    必需的元素
    说明
    提供自动注入值的 查询类
  • 可选元素概要

    可选元素
    修饰符和类型
    可选元素
    说明
    自动注入值的类型, 用于强制转换
    自动注入值是字典时,需要指定该字典的key(def_dict 表的 parent_key 字段)
    回显到那个字段
  • 字段概要

    字段
    修饰符和类型
    字段
    说明
    static final String
     
  • 字段详细资料

  • 元素详细资料

    • api

      String api
      提供自动注入值的 查询类

      注意: 用 @Echo(api = "xxxServiceImpl")时,要保证当前服务有 xxxServiceImpl 类.

      返回:
      查询类的Spring Name
    • ref

      String ref
      回显到那个字段
      返回:
      回显到那个字段
      默认值:
      ""
    • beanClass

      Class<?> beanClass
      自动注入值的类型, 用于强制转换

      api() 配置了FeignClient时,通过 api 调用的结果会因为序列化的关系丢失类型

      如:实际返回值中 Map<Serializable, Object> 的value值为 User 对象,但由于通过FeignClient调用时,会自动进行序列化和反序列化,导致返回值Map中Object类型的value值丢失类型, 可以通过配置该参数,回显接口会对返回的value值类型进行强制转换。

      返回:
      待转换类
      默认值:
      java.lang.Object.class
    • dictType

      String dictType
      自动注入值是字典时,需要指定该字典的key(def_dict 表的 parent_key 字段)
      返回:
      字典类型
      默认值:
      ""