gpt4 book ai didi

java - 如何打包基于 spring 的库以供重用?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:50:20 25 4
gpt4 key购买 nike

我有一个基于 Spring Web 的应用程序。现在我想将它的部分也用于另一个项目。因此我有两个问题:

  1. 将此类功能打包为可重用库的推荐方法是什么?内部包含应用程序上下文 XML 或 JAR + 额外 XML 的 JAR 文件?还有别的吗?
  2. 如何将此类库合并到另一个基于 Spring(网络)的项目(不同的命名空间 - 包),例如@Autowired 会起作用吗?我想类路径上的简单 JAR 是不够的——如何引用 lib 的应用程序上下文等?还需要哪些其他步骤?

最佳答案

我使用的方法只是确保应用程序上下文片段驻留在库 jar 文件中的一个众所周知的位置(我个人使用 META-INF/spring)。所以我可能在名为 META-INF/spring/common-security-context.xml

的文件中有一些通用的安全配置和 bean

在您的客户端应用程序(使用该库的应用程序)中,您可以通过在您的应用程序上下文中进行如下导入来包含来自所有您的共享库的服务和 bean:

<import resource="classpath*:META-INF/spring/*-context.xml" />

(注意类路径后的星号)。这将从任何 jar 文件或正在运行的应用程序可见的类路径根中找到名称与 META-INF/spring/*-context.xml 模式匹配的文件,并将它们聚合到一个逻辑上下文中。根据需要调整通配符。

显然,如果您开始广泛使用它,您将需要一些策略来避免可能发生的 bean/服务名称冲突。

关于java - 如何打包基于 spring 的库以供重用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19116168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com