1. 程式人生 > >反射呼叫Service層方法,@Autowired註解失效。問題解決

反射呼叫Service層方法,@Autowired註解失效。問題解決

反射呼叫方法時,裡面的dao層註解失敗。空指標異常。

原因很簡單,反射和new有點像。沒通過spring管理。

解決方案1:

@Service
public class service {
 
	@Autowired
    private Mapper mapper;
	
	//新增靜態變數
	public static service proxy;
	
	@PostConstruct
	public void init() {   
			proxy = this;
	} 
}

呼叫用的時候:proxy.mapper.XXXX

@PostConstruct說明

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

目前覺得比較好的解決方案。