Spring Boot 引导
-
概述
本章将向您介绍如何在Spring Boot应用程序上执行引导。 -
Spring 初始化器
引导Spring Boot应用程序的方法之一是使用Spring Initializer(初始化器)。为此,您将必须访问Spring Initializer网页start.spring.io并选择Build,Spring Boot版本和平台。另外,您需要提供一个组,组件和所需的依赖关系才能运行该应用程序。观察以下屏幕快照,该屏幕快照显示了一个示例,其中我们添加了spring-boot-starter-web依赖关系以编写REST端点。提供组,工件,依赖关系,构建项目,平台和版本后,单击生成项目按钮将下载并提取.zip文件。本节通过使用Maven和Gradle向您说明示例。 -
Maven
下载项目后,解压缩文件。现在,您的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.3.0.BUILD-SNAPSHOT</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.jc2182</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>demo</name> <description>Demo project for Spring Boot</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> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> <repositories> <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/milestone</url> </repository> <repository> <id>spring-snapshots</id> <name>Spring Snapshots</name> <url>https://repo.spring.io/snapshot</url> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/milestone</url> </pluginRepository> <pluginRepository> <id>spring-snapshots</id> <name>Spring Snapshots</name> <url>https://repo.spring.io/snapshot</url> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </project>
-
Gradle
下载项目后,解压缩文件。现在您的build.gradle文件如下所示-plugins { id 'org.springframework.boot' version '2.3.0.BUILD-SNAPSHOT' id 'io.spring.dependency-management' version '1.0.9.RELEASE' id 'java' } group = 'com.jc2182' version = '0.0.1-SNAPSHOT' sourceCompatibility = '1.8' repositories { mavenCentral() maven { url 'https://repo.spring.io/milestone' } maven { url 'https://repo.spring.io/snapshot' } } dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation('org.springframework.boot:spring-boot-starter-test') { exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' } } test { useJUnitPlatform() }
-
类路径依赖
Spring Boot提供了许多Starters来将jar添加到我们的类路径中。例如,要编写一个Rest Endpoint,我们需要在类路径中添加spring-boot-starter-web依赖项。查看下面显示的代码以更好地理解-Maven依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
Gradle依赖dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation('org.springframework.boot:spring-boot-starter-test') { exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' } }
-
main 方法
main方法应该是编写到Spring Boot Application类。此类应使用@SpringBootApplication进行注解。这是要启动的Spring Boot应用程序的入口点。您可以使用默认包在src/java/main目录下找到主类文件。在此示例中,主类文件位于src/java/main目录中,默认包com.jc2182.demo。观察此处显示的代码以更好地理解-package com.jc2182.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
-
写一个Rest Endpoint
要在Spring Boot Application主类文件本身中编写一个简单的Hello World Rest Endpoint,请按照以下步骤操作-- 首先,在类顶部添加@RestController注解。
- 现在,编写带有@RequestMapping注解的Request URI方法。
- 然后,Request URI方法应返回Hello World字符串。
现在,您的主Spring Boot Application类文件将如下代码所示:package com.jc2182.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication @RestController public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } @RequestMapping(value = "/") public String hello() { return "Hello World"; } }
-
创建一个可执行的JAR
让我们通过在命令提示符中使用Maven和Gradle命令创建一个可执行的JAR文件来运行Spring Boot应用程序,如下所示使用Maven命令mvn clean install
,如下所示执行命令后,您可以在命令提示符下看到BUILD SUCCESS消息,如下所示-使用Gradle命令gradle clean build
构建,如下所示执行命令后,您可以在命令提示符下看到BUILD SUCCESSFUL消息,如下所示- -
使用Java运行Hello World
创建可执行的JAR文件后,。对于Maven,可以在demo/target目录下找到它对于Gradle,您可以在demo/build/libs目录下找到JAR文件,如下所示-现在,使用命令java –jar <JARFILE>
运行JAR文件。现在,查看控制台,Tomcat在端口8080(http)上启动。现在,转到Web浏览器,然后单击URL http://localhost:8080/ ,您可以看到如下所示的输出-