Press "Enter" to skip to content

搭建第一个springboot项目

Last updated on 2020年12月23日

准备

再开始之前,打开终端并运行以下命令,以确保安装了有效的Java和Maven版本。

$ java -version
java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)
$ mvn -v
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /Users/local/Web/apache-maven-3.6.3
Java version: 1.8.0_241, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_241.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.15.6", arch: "x86_64", family: "mac"

脚手架

使用脚手架来搭建基本的springboot开发框架 https://start.spring.io/

示例

填写Project Metadata,自定义项目的配置,完成后点击GENERATE下载示例。

编写第一个web程序

要完成我们的应用程序,我们需要创建一个Java文件。项目的代码放到src/main/java目录下,添加一个名为的文件src/main/java/Example.java,其中包含以下代码:

package com.springboot.springboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author Francis
* @date 2020/12/22 10:22 上午
*/
@RestController
@EnableAutoConfiguration
public class Example {

    @RequestMapping("/")
    String home() {
        return "Hello World!!";
    }

    public static void main(String[] args) {
        SpringApplication.run(Example.class, args);
    }

}

这样就完成了一个基本的REST Web接口编写,尽管这里没有太多代码,但是正在发生很多事情,我们接下来逐步介绍下重要部分。

@RestController和@RequestMapping注释


我们Example类的第一个注释是@RestController,这被称为构造型注释,是@ResponseBody和@Controller的组合注解。它为阅读代码的人和Spring提供了提示,提示该类起特定作用。在这种情况下,我们的类是一个web @Controller,因此Spring在处理传入的Web请求时会使用它。
该@RequestMapping注释提供“路由”的信息。它告诉Spring任何具有/路径的HTTP请求都应映射到该home方法。该@RestController注解告诉Spring使得到的字符串直接返回给调用者。


@EnableAutoConfiguration批注

第二个类级别的注释是@EnableAutoConfiguration。这个注释告诉Spring Boot根据添加的jar依赖关系“猜测”您如何配置Spring。由于spring-boot-starter-web添加了Tomcat和Spring MVC,因此自动配置假定您正在开发Web应用程序并相应地设置Spring。
自动配置旨在与“启动器”配合使用,但是这两个概念并没有直接联系在一起。您可以在启动程序之外自由选择jar依赖项。Spring Boot仍然尽其最大努力来自动配置您的应用程序。


main方法


最后一部分是main方法。这是遵循Java约定的应用程序入口点的标准方法。我们的main方法SpringApplication通过调用委托给Spring Boot的类run。 SpringApplication引导我们的应用程序,启动Spring,这反过来又启动了自动配置的Tomcat Web服务器。我们需要将Example.class一个参数传递给run方法,以判断SpringApplication哪个是主要的Spring组件。

运行


此时,您的应用程序应该可以工作了。由于使用了spring-boot-starter-parent POM,因此有一个run目标,可以用来启动应用程序。mvn spring-boot:run从根项目目录中运行以启动应用程序。您应该看到类似于以下内容的输出:

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

创建一个可执行的Jar


创建在生产环境中运行的完全独立的可执行jar文件,可执行jar是包含已编译类以及代码需要运行的所有jar依赖项的文件。
要创建可执行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>

springboot脚手架已经帮我们初始化配置好了pom.xml,无需我们再进行配置,接下来我们直接运行以下命令:

mvn package

如果查看target目录,则应该看到springboot-0.0.1-SNAPSHOT.jar。该文件的大小应为10 MB左右。如果您想查看内部,可以使用jar tvf,如下所示:

jar tvf target/springboot-0.0.1-SNAPSHOT.jar

您还应该springboot-0.0.1-SNAPSHOT.jar.original在target目录中看到一个更小的文件。这是Maven在Spring Boot重新打包之前创建的原始jar文件。
要运行该应用程序,使用以下java -jar命令:

java -jar target/springboot-0.0.1-SNAPSHOT.jar
发表评论

邮箱地址不会被公开。 必填项已用*标注