首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >支持diff spring版本的SDK

支持diff spring版本的SDK
EN

Stack Overflow用户
提问于 2016-08-25 08:10:19
回答 2查看 75关注 0票数 0

假设我计划开发一个SDK,并且这个SDK应该支持不同的spring版本,例如Spring2.x、Spring3.x和Spring4.x,在SDK中只有很少的依赖项,

代码语言:javascript
复制
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${spring.version}</version>
        </dependency>

一种方法是设置${spring.version}不同的版本,但这将导致大量的维护成本。对这个问题有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-25 09:27:03

如果要在所有春季版本中只使用几个类和具有相同签名的方法,我建议您查看理解Maven版本号,特别是表表7-1版本范围引用上的内容。例如,当您看到版本1.2,1.3意味着1.2 <= x <= 1.3。

对于您的情况,您必须将属性"spring.version“调整为:

代码语言:javascript
复制
<properties>
    <spring.version>[2.0,4.3]</spring.version>
</properties>
票数 1
EN

Stack Overflow用户

发布于 2016-08-25 08:26:02

首先,尽可能避免Spring依赖;例如,通常只需要为@Component注释包括@Component。假设您可以避免前向不兼容,只需根据最早兼容的Spring构建即可。例如,为Spring3.2编译的组件通常在Spring4.3中没有问题地加载。

但是,如果需要使用新Spring版本的特性,最好的方法是完全创建一个新工件。例如,当Thymeleaf需要使用仅在Spring4中添加的特性时,thymeleaf-spring4。这确实需要您付出更多的努力,但是对于您的所有用户来说,这将使构建和转换更加顺畅。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39139927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档