Spring Boot 之 Hello World

2022-07-23  本文已影响0人  小明同学的学长

读者人群

此文写给刚刚开始接触 Spring Boot 的 Java 开发者

前置知识点

虽然你是在极度碎片化的知识海洋内看到这篇文章,但在阅读这篇文章之前需要了解以下知识:

什么是 Spring Boot

Spring Framework 目前可以说是企业级 Java 开发的标准,在 Java 生态中有着举足轻重的地位。Spring Framework 作为基础的 Web 开发框架,需要大量第三方框架配合进行应用开发,例如 MyBatis、Hibernate、Shiro、Freemarker 等,随着 Spring 生态的发展和企业级应用日趋复杂的现状,通过 Spring Framework 进行开发时需要进行大量的配置以便完成对其他框架的集成,业务比较简单的项目中甚至可能出现配置文件比代码还要多的情况。

Spring Boot 在这种背景下诞生,一是为了降低 Spring Framework 与其他框架的集成复杂度,二是为了更好的支持分布式和云原生开发,Spring Boot 便是 Spring 团队另一力作 Spring Cloud (分布式开发框架) 的基础。

Hello World

开始今天的正题,Spring Boot 项目依赖于 Maven 或 Gradle,这里我们使用 Maven,首先我们创建一个 Maven 项目,在前置知识点部分我们已经默认看到这里的你已经掌握了 Maven 的基本使用,这里我们不再详细描述。

  1. 在 pom.xml 中添加以下内容:
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.7.2</version>
</parent>

spring-boot-starter-parent 主要提供默认依赖,在使用 Maven 时引入依赖需要显式指定 version,在引入 spring-boot-starter-parent 后,最显而易见的用户便是不再需要指定版本。

  1. 添加 web 依赖,同样在 pom.xml 中添加以下内容:
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

starter 在 Spring Boot 中相当于模块,在没有 starter 之前,需要开发者自行维护依赖关系和版本,同时自行完成于 Spring Framework 的集成,极大概率出现版本兼容等问题,Spring Boot 便是通过 starter 整合依赖并提供默认配置来简化依赖管理,在加入上述配置后我们便可以通过 mvn dependency:tree 查看依赖,仅仅通过一个配置便引入了 N 个 jar 包。


image.png
  1. 创建应用启动类。在 src/main/java 下创建 package,同时创建一个 Java 类作为启动类,后续所有需要 Spring 管理的代码都需要卸载启动类同级的包或者子包下。
package com.example.spring;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;

@SpringBootApplication
public class SpringExampleStarter {

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

第 9-11 行便是启动代码,默认使用内嵌的 Tomcat 容器启动在 8080 端口应用。完成以上代码后便可以启动应用了,但是因为没有任何逻辑,所以也只能在控制台看到启动成功的提示而已,我们添加一个接口来验证。

  1. 在启动类同级目录创建一个 Java 类,其中代码如下,提供一个非常简单的接口:
package com.example.spring;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("test")
public class TestController {

    @GetMapping("hello")
    public String hello(){
        return "Hello Spring Boot";
    }

}
  1. 至此我们完成了最简单的 Spring Boot 应用开发,启动或重启应用后即可在浏览器中通过 http://localhost:8080/test/hello 查看接口返回内容。
    image.png
上一篇下一篇

猜你喜欢

热点阅读