service 注入为null 踩坑注意
同事今天写了一段代码,但是执行的时候 注入的service一直为null。最终发现是方法上的修饰符 写成了private 。原因分析:容器扫描bean生成代理类的时候,public和protected方法可以被正常代理,而private方法的不会被代理,属性的注入也是在代理类中完成,所以public/protected方法获取的注入属性是完成注入的属性,private方法获取的是未完成注入时的属性
·
同事今天写了一段代码,但是执行的时候 注入的service一直为null。
最终发现是方法上的修饰符 写成了private 。
原因分析:
容器扫描bean生成代理类的时候,public和protected方法可以被正常代理,而private方法的不会被代理,属性的注入也是在代理类中完成,所以public/protected方法获取的注入属性是完成注入的属性,private方法获取的是未完成注入时的属性,所以是null。
AOP切入的方法,其访问权限为protected/public,如果匹配private时,会导致其方法中所有的属性注入 注入失败。
更多推荐
已为社区贡献1条内容
所有评论(0)