微服务架构之Spring Boot(八)

2022-04-07 19:54:21 浏览数 (1)

11.3.3“主要”方法

我们的应用程序的最后一部分是 main 方法。这只是遵循应用程序入口点的Java约定的标准方法。我们的主要方法是通过调用 run 来委托Spring

Boot的 SpringApplication 类。SpringApplication 引导我们的应用程序,从Spring开始,然后启动自动配置的Tomcat Web服务器。我们

需要将 Example.class 作为参数传递给 run 方法,以告诉 SpringApplication 哪个是主要的Spring组件。还会传递 args 数组以公开任何命

令行参数。

11.4运行示例

此时,您的应用程序应该工作。由于您使用了 spring-boot-starter-parent POM,因此您可以使用有用的 run 目标来启动应用程序。从根

项目目录中键入 mvn spring-boot:run 以启动应用程序。您应该看到类似于以下内容的输出:

如果您打开Web浏览器到 localhost:8080 ,您应该看到以下输出:

Hello World!

要正常退出应用程序,请按 ctrl-c 。

11.5创建一个可执行的Jar

我们通过创建一个完全自包含的可执行jar文件来完成我们的示例,我们可以在生产中运行它。可执行jar(有时称为“fat jar”)是包含已编译类

以及代码需要运行的所有jar依赖项的归档。

可执行的jar和Java

Java没有提供加载嵌套jar文件的标准方法(jar文件本身包含在jar中)。如果您要分发自包含的应用程序,这可能会有问题。

为了解决这个问题,许多开发人员使用“超级”罐子。uber jar将所有应用程序依赖项中的所有类打包到一个存档中。这种方法的问题在于

很难看出应用程序中有哪些库。如果在多个罐子中使用相同的文件名(但具有不同的内容),也可能会有问题。

Spring Boot采用不同的方法,让你直接嵌套罐子。

要创建可执行jar,我们需要将 spring-boot-maven-plugin 添加到 pom.xml 。为此,请在 dependencies 部分下方插入以下行:

<build>

<plugins>

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

</plugin>

</plugins>

</build>

spring-boot-starter-parent POM包含 <executions> 配置以绑定 repackage 目标。如果您不使用父POM,则需要自己声

明此配置。有关详细信息,请参阅插件文档。

保存 pom.xml 并从命令行运行 mvn package ,如下所示:

$ mvn package

[INFO] Scanning for projects...

[INFO]

[INFO] ------------------------------------------------------------------------

[INFO] Building myproject 0.0.1-SNAPSHOT

[INFO] ------------------------------------------------------------------------

[INFO] .... ..

[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ myproject ---

[INFO] Building jar: /Users/developer/example/spring-boot-example/target/myproject-0.0.1-SNAPSHOT.jar

[INFO]

[INFO] --- spring-boot-maven-plugin:2.1.1.RELEASE:repackage (default) @ myproject ---

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

如果你查看 target 目录,你应该看到 myproject-0.0.1-SNAPSHOT.jar 。该文件大小应为10 MB左右。如果要查看内部,可以使

用 jar tvf ,如下所示:

$ jar tvf target/myproject-0.0.1-SNAPSHOT.jar

您还应该在 target 目录中看到一个名为 myproject-0.0.1-SNAPSHOT.jar.original 的小文件。这是Maven在Spring Boot重新打包之前创

建的原始jar文件。

要运行该应用程序,请使用 java -jar 命令,如下所示:

和以前一样,要退出应用程序,请按 ctrl-c 。

0 人点赞