如何将库的spring上下文与应用程序上下文集成?

时间:2018-04-28 20:22:46

标签: java spring spring-mvc spring-boot

我写的库使用了一些spring和hibernate bean。例如,它使用SessionFactory。在我的库中,我在xml文件中配置spring上下文。

我想做下一件事: 我的库的客户端将maven依赖项添加到他们的项目中,并且在他们的应用程序启动时,我的库使用了应用程序的公共spring上下文。

我知道Spring启动时的spring.pactories。但我不确定“纯”弹簧中现有的自动配置。

在完美的情况下,我想从我的lib中删除spring-context依赖。

1 个答案:

答案 0 :(得分:0)

如果您的库具有上下文配置类或xml文件,则用户可以通过在@Import注释中指定它来将其添加到其配置中。

我建议您创建将导入xml配置的java配置类,然后用户只需要在其代码中添加@Import注释,并将配置类指定为参数。

我不知道你是否可以在不使用spring-boot的情况下采取其他方式。

有关@Import注释的文档: https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Import.html

关于spring-context依赖关系,您可以将其设为provided,因为要使用您的库,您的用户无论如何都需要此依赖关系。