使用/导入/注入spring-managed类到非spring类

时间:2015-11-11 03:18:57

标签: spring import

有没有办法将spring-managed类注入/导入遗留代码或非spring类?

我正在开发一个spring项目,但是我们有这个遗留代码需要访问spring托管类(特别是jparepsository实现类)。这可能吗?

抱歉,我是Spring框架中的新手。任何帮助/建议将不胜感激。谢谢:))

1 个答案:

答案 0 :(得分:0)

您始终可以在代码中加载应用程序上下文。做这样的事情很简单:

ApplicationContext context = new ClassPathXmlApplicationContext("path/to/applicationContext.xml");

您可以通过getBean()函数访问在那里创建的所有bean。这对你来说已经足够了。但是,您无法访问与应用程序其他部分相同的上下文,您将获得一份副本。因此,如果您在应用程序上下文中有有状态bean,那么“#34; unmanaged"代码不会看到相同的状态。

如果您正在谈论Web应用程序,那么您可以使用WebApplicationContextUtils访问与其他Web应用程序相同的上下文。

WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());

既然您可以访问遗留代码,那么是什么阻止您将其重写为Spring管理,或者将其作为ApplicationContextAware?