我写的库使用了一些spring和hibernate bean。例如,它使用SessionFactory。在我的库中,我在xml文件中配置spring上下文。
我想做下一件事: 我的库的客户端将maven依赖项添加到他们的项目中,并且在他们的应用程序启动时,我的库使用了应用程序的公共spring上下文。
我知道Spring启动时的spring.pactories。但我不确定“纯”弹簧中现有的自动配置。
在完美的情况下,我想从我的lib中删除spring-context依赖。
答案 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
,因为要使用您的库,您的用户无论如何都需要此依赖关系。