SpringMVC的controller层service注入失败

问题描述

今天在整合springboot与mybaits,写controller的方法时,手误把public方法,写成了private,结果在运行的时候报空指针异常,非常疑惑,经过bebug发现,service为空,也就是service注入失败,结果把private改成public后,问题解决。

原因分析

容器扫描bean生成代理类的时候,public和protected方法可以被正常代理,而private方法的不会被代理,属性的注入也是在代理类中完成,所以public/protected方法获取的注入属性是完成注入的属性,private方法获取的是未完成注入时的属性,所以是null。

你可能感兴趣的:(SpringMVC的controller层service注入失败)