Die Bedeutung der Versionsnummern von SpringBoot und Spring Security

1. Digitale Versionsnummer:

1.1 Bedeutung:

Am Beispiel         von Spring Boot 2.1.5 sind die Bedeutungen: Version -> Hauptversionsnummer. Unterversionsnummer. Überarbeitete Versionsnummer . Die konkrete Erklärung lautet wie folgt:

        a, 2 gibt die Hauptversionsnummer an , was darauf hinweist, dass es sich um unser Spring Boot- Produkt der zweiten Generation handelt .

        b. 1 gibt die Nebenversionsnummer an , einige neue Funktionen wurden hinzugefügt , aber die Hauptstruktur hat sich nicht geändert und ist kompatibel.

        c und 5 stellen Bugfix- Versionen dar .

        d. Spring Boot 2.1.5 ist also die fünfte Bugfix-Version der ersten Nebenversion der zweiten Generation von Spring Boot .

1.2 Inkrementelle Regeln:

        Anhand der obigen Erklärung können wir erkennen, dass die Versionen von SpringBoot 1.x und SpringBoot 2.x nicht direkt über die Versionsnummer aktualisiert werden können. Wenn Sie jedoch von Version 2.1.5 auf Version 2.2.6

Typ

erklären

Hauptversionsnummer Wenn Sie inkompatible API-Änderungen vornehmen oder größere Anpassungen vornehmen .
Subversion-Nummer Wenn Sie funktionale Erweiterungen vornehmen, die abwärtskompatibel sind .
Änderungsantrag Nr Wenn Sie einen Abwärtskompatibilitäts-Bugfix durchführen .

2. Textversionsnummer:

        Wenn wir die Version verwenden, stellen wir fest, dass auf viele Versionen ein Suffix folgt, z. B. .RELEASE . Was bedeutet das? Sortieren wir die Suffixinformationen und Erklärungen, auf die Sie möglicherweise stoßen, wie folgt:

Bedeutung

erklären

Schnappschuss Schnappschuss
Alpha geschlossene Beta
Beta Beta
freigeben stabile Version
GA stabilste Version
Finale formelle Ausgabe
Pro (professionell) Professionelle Ausgabe
Plus Verbesserte Edition
Einzelhandel Retail-Version
Demo Demoversion
Bauen Internes Etikett
Deluxe Deluxe-Edition
Corporation oder Unternehmen Enterprise Edition
M1、M2、M3 Meilenstein
RC Es werden fast keine neuen Funktionen hinzugefügt und das Hauptaugenmerk wird auf dem Debuggen liegen.
SR Modifizierte Version
Gerichtsverhandlung Probeversion
Shareware geteilte Version
Voll Vollversion

        Hier sind einige häufig verwendete Substantive:

Bedeutung

erklären

Build – Schnappschuss Die Entwicklungsversion , auch Snapshot-Version genannt . Die aktuelle Version befindet sich in der Entwicklung . Testen Sie sie nach Abschluss der Entwicklung selbst und lassen Sie sie auch von anderen Teammitgliedern testen.
M1....M2 Meilensteinversionen : Vor der Veröffentlichung der Version wird es mehrere Meilensteinversionen geben. Wenn ich die Snapshot- Version für eine Weile zur Entwicklung verwende, finde ich, dass der kürzlich geschriebene Code gut ist. Setzen Sie also ein paar Meilensteine ​​und zeichnen Sie ihn auf! Halten Sie diesen bedeutsamen Moment fest.
RC1 ....RC2 Release-Kandidat . Die interne Entwicklung hat ein bestimmtes Stadium erreicht. Nach der Vererbung jedes Moduls ist das gesamte Entwicklungsteam der Meinung, dass die Software nach sorgfältigem Testen stabil und problemlos ist und für die Außenwelt freigegeben werden kann.
freigeben Offizielle Version . Nachdem die Release-Kandidaten fast fertig sind, bedeutet dies, dass das gesamte Framework ein bestimmtes Stadium erreicht hat und für den groß angelegten Einsatz auf den Markt gebracht werden kann, sodass es für alle zur Nutzung freigegeben wird.
SR1 .... SR2 überarbeitete Fassung . Nach der Veröffentlichung der offiziellen Version finden Benutzer Probleme, und Architekten beheben diese Fehler , dh sie beheben die Probleme der Release- Version. Zu diesem Zeitpunkt sind die Versionen jeder Iteration SR1 , SR2 und SR3 .

        Gemäß der obigen Erklärung lautet die Veröffentlichungsreihenfolge der gesamten Version:

        1. Snapshot : Die Entwicklungsversion ( BS ). Wenn die Entwicklung ein kleines Stadium erreicht, muss sie markiert werden.

       2. M1 .... MX : Meilensteinversion ( MX ), die Version hat ein relativ stabiles Stadium erreicht und kann für die Öffentlichkeit freigegeben werden, es kann jedoch immer noch Probleme mit Reparaturen geben. Derzeit werden nur Reparaturen durchgeführt. und neue Funktionen werden nicht entwickelt.

        3. RC1....RCX : Release Candidate ( RC1 ), Fehlerbehebung abgeschlossen, veröffentlicht.

        4. Release : Die offizielle Version ( Release ), es gibt einige von der Außenwelt gemeldete Probleme und es werden interne Reparaturen durchgeführt.

        5、SR1 .... SRX: 修正版本(SRX)。

总结:

        截至到目前为止,我们可以看到的版本号应该是这个样子:版本格式 -> 主版本号.子版本号.修正版号.软件版本阶段

三、英文标识:

        我们经常在网站上发现些标着 CURRENTPRE 等等的标识,这些又是什么意思呢?如下所示:

含义

解释

CURRENT 当前推荐的版本
GA 稳定版,可用于生产
PRE 里程碑版 / 预览版本
SNAPSHOT 快照

        这里只是一个标识,方便大家在使用的时候选择版本,我们一般的选择是 CURRENTGA 版本, SNAPSHOT 打死不能选。

四、Spring Cloud 版本说明:

        spring cloud 的发布版本是以伦敦地铁作为版本命名,并按照地铁站的首字母 A - Z 依次命名。如下所示,但是在 2020 年,又改为了日历化版本。这里不做过多的介绍。

含义

解释

Angle 第一代版本
Brixton 第二代版本
Camden 第三代版本
Dalston 第四代版本
Edgware 第五代版本
Finchley 第六代版本
GreenWich 第七代版本
Hoxton 第八代版本

        为什么我们的 spring cloud 会以这种方式来发布版本?因为假如我们发布的是传统的版本如 2.1.5.release spring cloud 会包含很多子项目的版本就会给人造成混乱。

        我们可以这么理解,使用英文版本的命名方式,就是为了统一管理 spring cloud 下的子项目版本集合。否则会造成版本混乱。

五、举例:

5.1、spring boot 版本真相:

        今天是 2021 年 11 月 24 日,我们进入到 spring boot 官网上,查看目前最新的 spring boot 的版本信息,如下图所示:

5.1.1、2.6.0 CURRENT GA:

        其中 2.6.0 表示的意思是这是第二代 spring boot 的第 6 个小版本的第 0 bug 修复。CURRENT 的意思是这是官网推荐使用的版本GA 的意思是这是稳定版本,可用于生产环境。

        那么该如何引入到我们的生产环境中呢?只需要配置如下依赖即可:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.6.0.RELEASE</version>
</parent>

        我们通过观察可以发现,在引入的依赖中,并没有 CURRENTGA ,这两个标签就是告知我们这些使用 spring boot 的人:spring boot 2.6.0 版本现在是一个稳定的版本(GA),可用于生产环境了,官网大力推荐进行使用。

5.1.2、2.6.1-SNAPSHOT:

        其中的 2.6.1 表示的意思是这是第二代 spring boot 的第 6 个小版本的第 1 bug 修复。SNAPSHOT 的意思是这是我们内部在开发的一个版本,也是对于 2.6.0 版本的 bug 迭代版本。

        那么该如何引入到我们的生产环境中呢?只需要配置如下依赖即可:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.6.1.BUILD-SNAPSHOT</version>
</parent>

5.1.3、2.5.7 GA:

        其中的 2.5.7 表示的意思是这是第二代 spring boot 的第 5 个小版本的第 7 次 bug 修复。GA 的意思是这是稳定版本,可用于生产。

        2.5.72.6.0 版本差别在于 2.6.0 多了一个 CURRENT 标识,说明官方更推荐 2.6.0 版本,如果你当前使用的是 2.5.7 版本的话,也是稳定的版本,官网也在修复此版本存在的问题。

        那么该如何引入到我们的生产环境中呢?只需要配置如下依赖即可:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.5.7.RELEASE</version>
</parent>

5.1.4、2.3.0 M2 PRE:

         再拓展一个上面官网没有的版本,可实际我们可能用得上的版本,其中的 2.3.0 表示的意思是这是第spring boot 的第 3 个小版本的第 0 次 bug 修复。M2 的意思是这是 2.3.0 版本的第二次里程碑版本PRE 的意思是里程碑版本 / 预览版本,告知我们这是个里程碑版本,喜欢尝试的人可以先来。

        那么该如何引入到我们的生产环境中呢?只需要配置如下依赖即可:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.0.M2</version>
</parent>

        我们曾经说过,里程碑版本是记录内部开发的版本,所以,如果是上面这么引入的话,是无法使用的,因为还未发布到官网上,那么现在使用的话,需要添加仓库,如下所示:

    <repositories>
        <repository>
            <id>spring-snapshots</id>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots><enabled>true</enabled></snapshots>
        </repository>
        <repository>
            <id>spring-milestones</id>
            <url>https://repo.spring.io/milestone</url>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-snapshots</id>
            <url>https://repo.spring.io/snapshot</url>
        </pluginRepository>
        <pluginRepository>
            <id>spring-milestones</id>
            <url>https://repo.spring.io/milestone</url>
        </pluginRepository>
    </pluginRepositories>

5.2 spring cloud 版本真相:

         今天是 2021 年 11 月 24 日,我们进入到 spring cloud 官网上,查看目前最新的 spring cloud 的版本信息,如下图所示:

5.2.1、2020.0.4 CURRENT GA:

        2020.0.4 的意思是这是 spring cloud 2020 年第 0 个小版本的第 4bug 修复版本,CURRENT 的意思是这是官网推荐使用的版本GA 的意思是这是稳定版本,可用于生产环境。

        那么该如何引入到我们的生产环境中呢?只需要配置如下依赖即可:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-dependencies</artifactId>
    <version>2020.0.4</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

5.2.2、2021.0.0-SNAPSHOT:

        2021.0.0 的意思是这是 spring cloud 2021 年第 0 个小版本的第 0 次 bug 修复版本,

SNAPSHOT 的意思是这是我们内部在开发的一个版本。

        那么该如何引入到我们的生产环境中呢?只需要配置如下依赖即可:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-dependencies</artifactId>
    <version>2021.0.0-SNAPSHOT</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

        由于这个也是未发布版本,也需要添加相同的仓库,如下所示: 

    <repositories>
        <repository>
            <id>spring-snapshots</id>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots><enabled>true</enabled></snapshots>
        </repository>
        <repository>
            <id>spring-milestones</id>
            <url>https://repo.spring.io/milestone</url>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-snapshots</id>
            <url>https://repo.spring.io/snapshot</url>
        </pluginRepository>
        <pluginRepository>
            <id>spring-milestones</id>
            <url>https://repo.spring.io/milestone</url>
        </pluginRepository>
    </pluginRepositories>

5.2.3、2021.0.0-RC1 PRE:

        2021.0.0 的意思是这是 spring cloud 2021 年第 0 个小版本的第 0 次 bug 修复版本,

RC1 的意思是这是我们发布候选的一个版本PRE 的意思是里程碑版本 / 预览版本,告知我们这是个里程碑版本,喜欢尝试的人可以先来。

        那么该如何引入到我们的生产环境中呢?需要配置如下依赖:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>2021.0.0-RC1</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-sleuth-otel-dependencies</artifactId>				
            <version>1.0.0-M1</version>
            <scope>import</scope>
            <type>pom</type>
        </dependency>
    </dependencies>
</dependencyManagement>

        由于这个也是未发布版本,也需要添加相同的仓库,如下所示: 

        <repositories>
			<repository>
				<id>spring-snapshots</id>
				<url>https://repo.spring.io/snapshot</url>
				<snapshots><enabled>true</enabled></snapshots>
			</repository>
			<repository>
				<id>spring-milestones</id>
				<url>https://repo.spring.io/milestone</url>
			</repository>
		</repositories>
		<pluginRepositories>
			<pluginRepository>
				<id>spring-snapshots</id>
				<url>https://repo.spring.io/snapshot</url>
			</pluginRepository>
			<pluginRepository>
				<id>spring-milestones</id>
				<url>https://repo.spring.io/milestone</url>
			</pluginRepository>
		</pluginRepositories>

5.2.4、Hoxton.SR12 GA:

        Honton 的意思是这是第spring cloud 版本,SR12 表示这是修正版本,修正了 12 次,说明 release 之后,进行了 12 次的问题修复。GA 的意思是这是稳定版本,可用于生产。

        那么该如何引入到我们的生产环境中呢?只需要配置如下依赖即可:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-dependencies</artifactId>
    <version>Hoxton.SR12</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

Supongo que te gusta

Origin blog.csdn.net/xhf852963/article/details/121511149
Recomendado
Clasificación