1. 程式人生 > >Spring @Autowired註解在非Controller注入為null,Springboot @Reference注入為null解決方案

Spring @Autowired註解在非Controller注入為null,Springboot @Reference注入為null解決方案

今天使用activiti的執行流程,使用dubbo想要去呼叫service,發現@Reference為null,研究了好久,嘗試直接連線dao層,注入的也為null。.

可能是我的這個不是controller裡面的

解決辦法

通過新增三個關鍵地方即可解決:

1、在class新增        @Component //關鍵1

2、public static ClassName className; //關鍵2  將本類設定為一個屬性

3、@PostConstruct

      public void init(){

     className = this;

}

呼叫可以使用    className.dao.methodName();這種方式呼叫

注:關於@PostConstruct:被@PostConstruct修飾的方法會在伺服器載入Servlet的時候執行,並且只會被伺服器呼叫一次,類似於Serclet的inti()方法。被@PostConstruct修飾的方法會在建構函式之後,init()方法之前執行。