Spring Boot - 速成课程
这篇文章的目标是让您能够运行您的第一个 Spring Boot 应用程序,因为我这里的大多数文章都要求您从那里开始。
Spring boot是一个默认应用大量自定义配置的框架,这使得它成为在 Java 生态系统中开始开发的非常简单的框架,它对测试也有很好的支持,对Kotlin有很好的支持,尽管我建议谨慎使用,并且在服务器端大量使用 Kotlin 来在生产中运行项目之前要等待,对于 Android 开发来说,情况就不同了,Kotlin 目前是推荐使用的语言。
使用 Spring Boot 不需要 XML 配置,这使得创建和运行 Spring/Java 应用程序变得非常容易,缺点是您需要了解它的约定才能确切知道发生了什么,特别是在解决问题时。
它真的很棒,它还提供了实际项目中所需的许多很好的功能,包括非功能性功能,非常有用且节省时间。
要创建 Spring Boot 应用程序,最简单的方法是使用与您喜欢的 IDE 集成的插件,或者访问 Spring Boot Initializer 网站并在那里创建您的初始应用程序设置。它非常易于使用,并提供了Spring生态系统中大量可能的组合。
让我们创建并运行第一个 Spring Boot 应用程序。如果您尚未安装 Java 8 或 Java 11,请查看我之前的文章,其中提供了运行示例项目所需的所有设置说明,这些示例项目均来自我的博客文章(包括本文)。现在,打开Spring Initializr网站并按照以下步骤操作:
Project:
MavenLanguage:
JavaSpring Boot:
选择当前最新版本2.1.6
- 项目元数据
Group:
io.stockgeeksArtifact:
firstapp- 选项
Name:
firstappDescription:
我使用 Spring Boot 的第一个项目Package Name:
io.stockgeeks.firstappPackaging:
罐Java:
11
Dependencies:
搜索并添加Spring Web Starter
,确保它位于选定的依赖项下。
点击Generate the Project
绿色大按钮下载 zip 文件,并将其保存到您指定的路径。使用您常用的压缩工具解压 zip 文件。
现在运行它。确保已安装 Java 11 和 Maven。
导航到你解压 zip 文件的文件夹,并检查其中的文件,你应该有一个pom.xml
文件,它是你项目的 Maven 父 pom 文件。如果你正在使用 IDE,现在可以加载此文件夹,它应该会将其识别为 Maven 项目,但现在,我们将使用命令行运行该应用程序。
下载依赖项,编译并使用 maven 生成可执行 jar 文件:
mvn clean package
您应该会看到如以下屏幕截图所示的 BUILD SUCCESS 消息:
现在您将target
创建一个文件夹,该文件夹完全在构建过程中生成,您可以随时将其删除。请确保将其添加到您的.gitignore
文件中,因为您根本不想提交此文件夹的内容。此文件夹中还将包含构建和打包过程中生成的所有已编译和打包的结构。
如果您列出目标文件夹的内容,您应该会看到一个名为的文件firstapp-0.0.1-SNAPSHOT.jar
,这是包含可执行应用程序的文件,它有一个嵌入式 Java 启用的Web 服务器,默认情况下是Apache Tomcat,但您也可以选择其他。
使用 maven 和 spring boot 插件:
mvn spring-boot:run
或者使用java运行生成的jar文件:
java -jar target/firstapp-0.0.1-SNAPSHOT.jar
一旦您看到该消息:Tomcat started on port(s): 8080 (http)
您的 Spring Boot 应用程序已正在运行。
为了完成一些更有用的东西,让我们添加一个REST端点和一个静态 HTML 页面。
添加端点和默认静态页面
索引.html
创建一个名为 的文件夹public
,并在其下添加一个 index.html 页面,其中包含您想要的任何内容/src/main/resources/public
。
Spring Boot 自动添加要服务的公共文件夹内容,它还默认启用资源下的其他路径:
- /META-INF/资源/
- /资源/
- /静止的/
- /民众/
休息端点
现在让我们创建最简单的 REST 端点,在具有 FirstappAplication.java 定义的同一包级别上创建一个 Java 类,在我的情况下是包 io.stockgeeks.firstapp ,并将其命名为:HelloSpringRest.java
添加以下内容:
package io.stockgeeks.firstapp;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import javax.websocket.server.PathParam;
@Controller
@RequestMapping("/api")
public class HelloSpringRest {
@GetMapping("/hello")
public String hello(@PathParam("name") String name) {
return "Hello, " + name;
}
}
使用 spring 创建 REST 端点只需要一些注释和几行 Java 代码。
该@Controller
注释向 Spring Boot 表明这是一个 spring 管理的组件,它@RequestMapping("api")
为添加到此类的端点准备 REST 端点根上下文并将它们映射为“/api”,@GetMapping(“/hello”) 注册上下文“/hello”以接收 HTTP GET 请求,最后 @PathParam(“name”) 使用键“name”为 GET 调用注册一个查询字符串。
构建并运行
与以前一样,任何时候您想从命令行运行,您都可以构建并运行:mvn clean package && mvn spring-boot:run
。
现在导航到:http://localhost:8080,您应该会看到刚刚创建的静态 index.html 页面。
要测试 REST 端点,您可以将浏览器指向http://locahost:8080/api/hello?name=Spock或使用 curl:curl -X GET http://locahost:8080/api/hello?name=Spock
完毕
您已经创建了一个 Spring Boot 应用程序、一个静态页面和一个 REST 端点。本文的目标是帮助您轻松创建 Spring Boot 应用程序,我将在以后的文章中再次提及这一点,因为本文中的大多数文章都需要以 Spring Boot 应用程序为起点。
如果您想查看源代码并且没有遵循上述步骤,您可以使用以下命令克隆此帖子项目 repo:
git clone git@github.com:stockgeeks/firstapp.git
参考
标题照片由wu yi在Unsplash上拍摄
文章来源:https://dev.to/thegroo/spring-boot-crash-course-21nm