我们知道,@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