我們知道,@Autowired
只能在彈簧容器管理的,如果新實例的實例使用,@Autowired
成員也不會影響。如何在春季啓動使用@Autowired手動新實例
但我認爲在某些情況下,新的實例是不能避免的。
如RunnableTask。其中包含由Spring管理的DAOService。因爲該任務是手動新建的。所以我不能在ThreadTask中使用DAOService。
所以我想知道如何獲得ApplicationContext Spring Boot,所以我可以通過context.getBean()
得到bean。
我知道在main()中我可以Autowired ApplicationContext。但是我無法將上下文作爲參數傳遞到任何地方!
我想在任何地方獲得ApplicationContext。
任何幫助將不勝感激。
因爲RunnableTask是由我自己創建的,不是由Spring管理的。所以'@ Autowired'不能被自動裝配。 @Dave – NingLee 2014-10-27 12:01:39
是的,但如果您自己創建它,則不需要自動裝配,只需將其注入構造函數(或setter)即可。 – 2014-10-27 12:07:39
感謝您的回答,這對我非常有用。但是在CodeReview SE中我還是問了一個問題。你可以看看嗎?謝謝。[Spring Boot中的Bean管理](http://codereview.stackexchange.com/questions/68139/patterns-about-bean-management-in-spring-boot)@Dave – NingLee 2014-10-28 03:55:11