Spring的Controller方法声明为private获取注入属性为null到的问题
Controller方法声明为private时出现获取到的注入service属性为null问题,而public方法却能正常获取注入的service。百度了很多,也没找到具体的原因分析,所以自己研究了下。原因分析:容器扫描bean生成代理类的时候,public和protected方法可以被正常代理,而private方法的不会被代理,属性的注入也是在代理类中完成,所以public/protected方
·
Controller方法声明为private时出现获取到的注入service属性为null问题,而public方法却能正常获取注入的service。百度了很多,也没找到具体的原因分析,所以自己研究了下。
原因分析:
容器扫描bean生成代理类的时候,public和protected方法可以被正常代理,而private方法的不会被代理,属性的注入也是在代理类中完成,所以public/protected方法获取的注入属性是完成注入的属性,private方法获取的是未完成注入时的属性,所以是null
更多推荐
已为社区贡献1条内容
所有评论(0)