(springboot 项目中自定义的返回对象在添加了@RestController后还需要实现序列化接口吗?

springboot 项目中自定义的返回对象在添加了@RestController后还需要实现序列化接口吗?

1.什么是Serializable接口?
一个对象序列化的接口。一个类只有实现了Serializable接口,它的对象才能被序列化。

2.什么是序列化?
将对象的状态信息转换为可以存储或传输的形式的过程。
程序的运行机制是:程序在运行时实例化出对象,这些对象存在于内存中,随着程序运行停止而消失(也就是匿名对象将会被垃圾回收器回收掉,这是堆内存的知识,对象存储在堆内存中),但如果我们想把某些对象(一般都是各不相同的属性)保存下来或者传输给其他进程,在程序终止运行后这些对象仍然存在,可以在程序再次运行时读取这些对象的信息,或者在其他程序中利用这些保存下来的对象信息恢复成实例对象。这种情况下就要用到对象的序列化和反序列化。

3.总结,只有在Java对象在需要存储和传输的时候才需要使用到序列化。因为springboot在提供接口的时候设计到网络的传输,所以传输的对象是肯定需要实现Serializable 接口的,但是在使用@RestController 的时候spring 已经确定使用json 格式传输,故我们定义的所谓传输对象其实已经被转换成了成了json 对象,而json 对象是实现了Serializable 接口的,所以定义的传输对象在@RestController 的修饰下是不需要实现序列化接口的。

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值