java Spring Boot的介绍与初体验
目录
- Spring Boot 介绍
- 系统要求
- 构建工具
- Servlet 容器
- 初体验
- 总结
Spring Boot 介绍
Spring Boot
用于创建可运行的、独立的、生产级的基于Spring
的应用程序。Spring Boot
对Spring
和第三方库持约定大于配置的观念,以便可以轻松上手。大多数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
实现,可以用于将请求派发给指定的控制器中定义的接口,但它的作用不仅如此,以后博主也会详细介绍。
总结
到此这篇关于java Spring Boot的介绍与初体验的文章就介绍到这了,更多相关java Spring Boot内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!