【问题标题】:Does Spring have a JAR artifact that includes only the base spring annotations?Spring 是否有一个仅包含基本 spring 注释的 JAR 工件?
【发布时间】:2020-01-30 15:14:13
【问题描述】:

通过 Spring maven 工件,它只有基本注释,如 @Component@Configuration@Bean 等...

这样的神器存在吗?还是我需要构建一个这样的?

这样做的原因是我正在重构一个仅在 CDI 环境中运行的 JAVA 库;现在,该库还需要支持 Spring 环境;所以,我需要添加一些类注释,例如:@Component@Bean,到一些库类...

这里的想法是向仅包含此类注释的 Spring 工件添加编译依赖项;这样,CDI 库使用者就不会导入 spring 框架,只会导入它的基本注解...

谢谢。

注意:我发现spring-context 包含一些必需的注释(刻板印象和上下文包),但我需要为上述规范修剪工件......想法非常好赞赏?

【问题讨论】:

  • 为什么要否决这个问题?它有什么问题?
  • 我赞成,因为当您不要求仅带有注释(不存在)的罐子但询问如何解决您遇到的问题时,该问题可能会提供信息/帮助。在我看来,这更像是一个设计问题。也许现在这个问题的提问方式还不清楚。
  • 不是问题的答案,但我有answered 一个 SO 问题,它确定了基于注释的 spring 应用程序所需的最少 jar 集。另外我认为executable jar format 上的弹簧文档将为您的设计提供指导。希望这会有所帮助

标签: java spring spring-boot


【解决方案1】:

不,注释是其他 jar 文件的一部分,并且没有仅包含注释的 jar 文件。

您可以做些什么来解决这个问题,AFAIK 也是常见的解决方法是为您的库构建一个扩展/附加 jar。

所以你会得到这样的结果:

  1. yourlibrary-core -> 包含库的所有核心功能
  2. yourlibrary-ext-spring -> yourlibrary 的扩展,以及与 Spring 结合使用的所有胶水代码。在这个项目中,您可以添加 Spring 依赖项。

要在项目中与 Spring 结合使用您的 yourlibrary,您需要对类路径的两个依赖项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-06
    • 2016-06-03
    • 2020-03-09
    • 2013-01-10
    • 2018-01-10
    • 2020-07-03
    • 2010-11-17
    • 2015-04-23
    相关资源
    最近更新 更多