三个个小问题。

来源:4-2 【跟我一起编码】统一响应处理的开发

Echo鑫

2019-01-19

  1. 为什么CommonResponse要实现Serializable序列化接口?
  2. 在CommonResponseDataAdvice类中,MethodParameter这个类的作用什么?
  3. 泛型中T和?的区别。
写回答

1回答

张勤一

2019-01-19

  1. 实现 Serializable 是告诉 JVM 说这个对象是可以序列化的。需要序列化的情况可能是需要存储到文本文件中、通过 Socket 传递对象等等。CommonResponse 实现 Serializable,是考虑到将来可能的扩展存储。

  2. MethodParameter 这个类用于保存方法的参数信息,包含类型、坐标(第几个参数)、注解发现、参数名等等(这实际设计到 Spring 的参数绑定的概念)。在代码中,我需要通过 MethodParameter 知道定义的类或方法是否加了 IgnoreResponseAdvice 注解(可以用在方法和类上)。而 supports 方法返回 true 代表需要统一的响应,返回 false 代表不需要统一的响应。

  3. <T> 和 <?> 有着不同的使用场景:<T> 用来声明一个泛型类或泛型方法;而 <?> 则用来使用泛型类或泛型方法。更简单的讲,<T> 是定义类或方法时声明的,<?> 是调用时传入的,它们是不同的概念。

6
0

Spring Cloud微服务架构 设计实现广告系统

广告营销系统,未来大中型企业的标配

2136 学习 · 927 问题

查看课程