SpringBoot - 详细入门教程(创建、运行项目,REST服务样例)
Spring Boot 和 Spring Cloud 已成为当前最流行的微服务框架。本文通过样例演示如何搭建并运行一个简单的 Spring Boot 项目。在开发之前,首先确认我们的电脑上已经有以下环境:
- JDK8
- Maven3.0+
- Intellij IDEA
一、创建项目
创建项目一共有两种方式,下面分别进行介绍。
1,在线创建项目
(1)在线创建是 Spring Boot 官方提供的一种创建方式,在浏览器中访问如下网址:
https://start.spring.io/
(2)在打开的页面中我们可以选择项目的构建工具是 Maven 还是 Gradle、语言是 Java 还是其它、要使用的 Spring Boot 版本号、项目的组织 Id(包名)、模块名称以及项目的依赖。
因为我要创建一个 SpringBoot 项目,所以项目依赖这块我们输入 Web 回车后进行添加。
2,使用 Intellij IDEA 创建
![](https://img2020.cnblogs.com/blog/811915/202112/811915-20211213102310575-1608131255.png)
接着输入项目的基本信息,包括组织 Id、模块名称、项目构建类型、最终生成包的类型、Java 的版本、开发语言、项目版本号、项目描述以及项目的包。
(2)接着选择项目所需要的依赖,之后 Intellij IDEA 会自动把选中的依赖添加到项目的 pom.xml 文件中。
因为我要创建一个 SpringBoot 项目,所以这里我们添加了个 Web 依赖。
![](https://img2020.cnblogs.com/blog/811915/202112/811915-20211213103208424-1247599201.png)
二、运行项目
有三种不同的方式启动项目,下面分别进行介绍。
1,使用 Maven 命令启动
(1)打开终端进入项目文件夹,执行如下 mvn 命令启动项目:
mvn spring-boot:run
(2)启动完毕后终端会显示成功信息。
(3)使用浏览器访问 http://localhost:8080/ 则可显示项目主页。
![](https://img2020.cnblogs.com/blog/811915/202112/811915-20211213105151295-1539085690.png)
2,直接运行 main 方法
![](https://img2020.cnblogs.com/blog/811915/202112/811915-20211213105346224-1488004683.png)
![](https://img2020.cnblogs.com/blog/811915/202112/811915-20211213105114008-1277924659.png)
3,打包启动
Spring Boot 应用也可以直接打成 jar 包运行。在生产环境中,常常通过这样的方式来运行一个 Spring Boot 应用。
(1)打开终端进入项目文件夹,执行如下 mvn 命令进行打包。
mvn package
(2)如果使用的是 Intellij IDEA,我们还可以点击界面右侧的 Maven -> Lifecycle -> package 进行打包。
(3)上面打包方式的前提是项目使用了 spring-boot-starter-parent 作为 parent,不过在大部分项目中,项目的 parent 可能并不是 spring-boot-starter-parent,而是公司内部定义好的一个配置,此时 spring-boot-maven-plugin 插件并不能直接使用,我们只要做如下额外的配置即可。配置完毕后就和之前一样,可以通 Maven 命令或者 IntelliJ IDEA 中的 Maven 插件进行打包。
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin>
(4)打包完成后,在项目的 target 目录下会生成一个 jar 文件。
(5)通过 java -jar 命令可以直接启动这个 jar 文件。
java -jar demo-0.0.1-SNAPSHOT.jar
(6)我们还可以在命令后面加个 &,表示后台运行。
java -jar demo-0.0.1-SNAPSHOT.jar &
(7)由于在生产环境中,Linux 大多数情况下都是远程服务器,然后使用远程工具连接 Linux。如果使用上面命令启动 JAR,一旦窗口关闭,JAR 也就停止运行了,因此一般通过如下命令启动 JAR:
注意:nohup 表示当窗口关闭时服务不挂起,继续在后台运行。
nohup java -jar demo-0.0.1-SNAPSHOT.jar &
三、一个简单的 RESTful 服务样例
(1)首先我们在项目中新建一个名为 HelloController 的 Java 类
(2)该类里面的内容如下:
- @RestController 注解:告诉 Spring 以字符串的形式渲染结果,并直接返回给调用者。该注解相当于 @ResponseBody + @Controller 合在一起的作用。
- @RequestMapping 注解:提供路由信息,它告诉 Spring 任何来自“/hello”路径的 HTTP 请求(Get)都应该被映射到 hello 方法。
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.GetMapping; @RestController public class HelloController { @GetMapping("/hello") public String hello() { return "hello"; } }
(3)运行启动程序后,访问 http://localhost:8080/hello 就可以访问这个 controller 的功能了。