从jar动态加载spring bean以及依赖bean

时间:2017-08-21 18:29:49

标签: spring dependency-injection jar autowired

我正在运行一个弹簧应用程序。

我的要求是用户将在运行时将插件jar文件放在指定的lib文件夹位置。 这个插件jar文件也有spring应用程序上下文文件。我想加载这个jar,意味着所有的类 - spring bean 以及它在运行时从这个jar文件中所有依赖的bean /组件(这很重要)。

我不想创建新的/子应用程序上下文,并且想要使用在应用程序启动时加载的现有spring bean上下文。

我在SO上提到了很少其他类似的线程/问题,可以解决动态加载spring bean的问题。 但我无法解决加载spring bean的所有依赖bean的问题。

你能不能提供任何指针/提示来动态加载运行时加载的spring bean(也是)的所有依赖bean?

提前致谢, Picku

1 个答案:

答案 0 :(得分:1)

如果您希望能够在启动后加载插件,那么您不会因为没有在孩提时创建其他应用程序上下文而逃脱。

我建议你这样做,然后在父上下文中创建一些钩子,你的插件将自己集成。

另一种方法是在主类路径中包含plugin.jar,然后重新启动应用程序以包含插件。