1. 程式人生 > >Spring MVC 中@autowired 註入後為null

Spring MVC 中@autowired 註入後為null

springMVC

遇到一個很奇怪的問題就是@Autowired註入失敗,首先我去檢查了該類是否被spring 容器托管 ,發現相應的類已經添加@controller、@service等註解,說明該類已經為Spring類,不存在非spring無法使用@Autowired註入的問題。在網上也查了很多文章,都沒有解決這個問題。後來經過逐個排查發現,同個類中不同的方法註入的變量也不同,用public 修飾的方法可以正常調用,而private調用的方法無法正常調用,值為null。把private 改為public後就能正常調用了,說明@Autowired註入是正常的,和函數的修飾符有關。如下圖:
技術分享圖片

Spring MVC 中@autowired 註入後為null