【发布时间】:2012-01-08 22:17:45
【问题描述】:
我有一个带有 spring 3.0 的 Web 应用程序。我需要从一个使用 appcontext xml 中定义的 bean 的 cron 运行一个带有 main 方法的类(使用组件扫描 annocations)。我在同一个 src 目录中有我的主类。 如何将 Web 上下文中的 bean 注入 main 方法。我尝试使用
ApplicationContext context = new ClassPathXmlApplicationContext("appservlet.xml");
我尝试使用 AutoWired,它返回一个空 bean。所以我使用了 Application ctx ,这在我运行 main 方法时创建了一个新的上下文(如预期的那样)。但是是否有可能我可以使用容器中现有的 bean。
@Autowired
static DAO dao;
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("xman- servlet.xml");
TableClient client = context.getBean(TableClient.class);
client.start(context);
}
【问题讨论】:
-
对于未来的读者,一个密切相关的问题:stackoverflow.com/questions/3659720/…
标签: spring dependency-injection inversion-of-control main autowired