VVL1295

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Spring 反射 问题

  花了我整整一天半,没有理由不记下来。

  大概是这样的,利用反射,为 Controller 的被注入的 Service 对象的字段赋值,在 debug 的过程中,发现并没有赋值成功(ctrl + shift + I 查看),但是又发现有赋值成功,大概是有时候显示的变量是接口,丢失了字段,debug 时查看变量,发现为 null;而有时候是实现类对象,查看变量,发现赋值成功,而且,在 Spring 中对反射(AOP) debug 增加了不少的成本。而最后,发现是赋值成功的,在 xxxServiceImpl 中发现字段是被赋值了,而在 contrller 中 xxxService 的字段显示没有赋值成功,可能就是上面提到的 debug 中接口的字段丢失的问题,因为涉及了反射,难以全部了解,只能暂时这样推测。

  反思:以后遇到这种情况要小心(对于 debug 中的接口与实现类,以及 CGLIB 反射),只要 debug 明确的实现类就好。

  

posted on 2016-10-14 15:03  bobo2018  阅读(109)  评论(0)    收藏  举报