第一种
场景描述
Controller
方法声明为 private
时出现获取到的注入 service
属性为 null
问题,而 public
方法却能正常获取注入的service
。
原因分析
容器扫描bean
生成代理类的时候,public
和protected
方法可以被正常代理,而private
方法的不会被代理,属性的注入也是在代理类中完成,所以public
、protected
方法获取的注入属性是完成注入的属性,private
方法获取的是未完成注入时的属性,所以是null