10号的时候 开始新项目开发,大牛搭好了 环境 一切就绪,帅气的ios开发对接接口的时候, 和我说 返回的json状态 很奇怪,明明不是这个接口的状态,但是每次请求都会出现,而且 几个人请求到的都是一样的状态参数,我们这边是SpringBoot搭建的 一个 微服务,和我们所使用的的老框架是不一样的,

SpringBoot的Controller 默认是单列的 每次请响应的都是同一个 Controller对象 项目中wap 和app 的Controller 都有一个共同的 父类 BaseController,父类中 有很多 共用的 方法 ,获取登录的用户信息等等 都是在父类中,奇大牛 顺手在里面放了 JsonMessage 的成员变量,老项目中一直都是这么用的,没出什么问题,虽然 每次请求的时候都是 不同的线程进来,但是用的对象都是同一个 所以 才出现封装数据是的 状态值什么都共享了,
一开始我还在想为什么 会这样,大牛设置的这个 JsonMessage对象并不是 静态的类的属性,但是没有往 单例上面想,问了奇大牛这个问题 ,他也思考了以后说出了猜测.

最后解决办法 ,父类中不再使用任何成员变量,谁用谁自己 new 出来 over!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐