信息发布→ 登录 注册 退出

java Spring Boot的介绍与初体验

发布时间:2026-01-11

点击量:
目录
  • Spring Boot 介绍
  • 系统要求
    • 构建工具
    • Servlet 容器
  • 初体验
    • 总结

      Spring Boot 介绍

      Spring Boot用于创建可运行的、独立的、生产级的基于Spring的应用程序。Spring BootSpring和第三方库持约定大于配置的观念,以便可以轻松上手。大多数Spring Boot应用程序只需要很少的配置。

      Spring Boot可以通过使用java -jar或更传统的war包部署来启动Java应用程序,Spring Boot的目标是:

      为所有Spring开发提供从根本上更快且可广泛访问的体验。开箱即用。提供一系列大型项目通用的非功能特性(例如嵌入式服务器、安全性、指标、健康检查和外部化配置)。没有代码生成,也不需要XML配置。

      系统要求

      Spring Boot 2.6.2需要Java 8,并且兼容Java 17(包括Java 17 ),还需要Spring Framework 5.3.14或更高版本,博主的Spring Boot系列博客都将基于Spring Boot 2.6.2,它是目前最新的正式版。

      构建工具

      Spring Boot为以下构建工具提供了显式构建支持:

      Maven 3.5+Gradle 6.8.x 6.9.x 7.x

      Servlet 容器

      Spring Boot支持如下图所示的嵌入式Servlet容器:

      可以将Spring Boot应用程序部署到任何兼容Servlet 3.1+的容器。

      初体验

      使用IDEA创建Spring Boot应用程序,如下图所示进行操作。

      使用Spring Initializer构建Spring Boot项目比较方便,可以让我们选择需要的依赖、Spring Boot版本、语言和打包方式,并且还会自动生成项目常用文件(如配置文件、静态文件的包、启动类等)。当然也可以使用Maven构建Spring Boot项目,博主平时喜欢使用Maven构建项目(自己写启动类、配置文件和pom.xml即可,可以让我们更加熟悉构建Spring Boot项目的流程),Spring Initializer应该也是通过Maven来构建项目,只不过在构建项目时提供了一些便利。

      选择依赖和Spring Boot版本,博主带大家体验一下用Spring Boot编写一个接口的方便,因此需要web依赖(webflux以后也会介绍)。

      构建的Spring Boot项目的结构如下图所示:

      pom.xml

      <?xml version="1.0" encoding="UTF-8"?>
      <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
          <modelVersion>4.0.0</modelVersion>
          
          <parent>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter-parent</artifactId>
              <version>2.6.2</version>
              <relativePath/> <!-- lookup parent from repository -->
          </parent>
          
          <groupId>com.kaven</groupId>
          <artifactId>springboot</artifactId>
          <version>0.0.1-SNAPSHOT</version>
          
          <name>springboot</name>
          <description>springboot</description>
          
          <properties>
              <java.version>1.8</java.version>
          </properties>
          
          <dependencies>
              <dependency>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-starter-web</artifactId>
              </dependency>
      
              <dependency>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-starter-test</artifactId>
                  <scope>test</scope>
              </dependency>
          </dependencies>
      
          <build>
              <plugins>
                  <plugin>
                      <groupId>org.springframework.boot</groupId>
                      <artifactId>spring-boot-maven-plugin</artifactId>
                  </plugin>
              </plugins>
          </build>
      
      </project>
      

      启动类:

      package com.kaven.springboot;
      
      import org.springframework.boot.SpringApplication;
      import org.springframework.boot.autoconfigure.SpringBootApplication;
      
      @SpringBootApplication
      public class SpringbootApplication {
      
          public static void main(String[] args) {
              SpringApplication.run(SpringbootApplication.class, args);
          }
      }
      

      @SpringBootApplication注解是启动类的关键,它会开启自动配置和组件扫描,大家现在可以不用管这些,以后博主都会详细介绍。SpringApplication.run()则会创建和管理应用上下文以及打印Banner等。

      启动应用,如下图所示进行操作:

      启动成功,如下图所示:

      写一个Hellow World接口,根据习惯,将接口放在controller包下。

      package com.kaven.springboot.controller;
      
      import org.springframework.web.bind.annotation.GetMapping;
      import org.springframework.web.bind.annotation.RestController;
      
      @RestController
      public class HelloWorldController {
          @GetMapping("/helloworld")
          public String helloWorld() {
              return "Hello World";
          }
      }
      

      @RestController是一个便利的注解,它组合了@Controller(带有此注解的类型被视为控制器)和@ResponseBody(指示方法的返回值应绑定到Web响应的Body中)注解。@GetMapping("/helloworld")注解定义了接口处理的请求类型(GET)和请求路径(/helloworld),用于处理请求。

      重新启动应用,再访问接口,Spring Boot应用默认启动在8080端口上。

      访问接口时,应用的控制台也有日志输出,DispatcherServlet是一种Servlet实现,可以用于将请求派发给指定的控制器中定义的接口,但它的作用不仅如此,以后博主也会详细介绍。

      总结

      在线客服
      服务热线

      服务热线

      4008888355

      微信咨询
      二维码
      返回顶部
      ×二维码

      截屏,微信识别二维码

      打开微信

      微信号已复制,请打开微信添加咨询详情!