创建项目
打开 https://start.spring.io/,按下图所示选择相应的选项,点击「Generate」按钮,就会下载一个压缩包,里面是一个完整的SpringBoot应用的骨架。
解压之后,里面的文件如下图所示:
用 Idea 打开这个项目
打开项目后右下角会有一个进度条显示正在解析项目依赖,可能会占用较长时间,不要着急,等进度条走完再继续下面的步骤。
找到下图中的这个文件:
并把文件内容改成下面这样:
package com.supermouse.hello.hellospring;
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 HellospringApplication {
public static void main(String[] args) {
SpringApplication.run(HellospringApplication.class, args);
}
@RequestMapping("hello")
public String hello(){
return "Hello, supermouse!";
}
}
这个文件的 main 函数就是整个程序的入口。hello 函数是我们自己写的控制器。
运行
在这个文件中单击右键,选择「Run…」运行程序。
若控制台中打印出如下信息,说明程序启动成功。
打开终端,输入以下命令:curl http://localhost:8080/hello
,输出 Hello, supermouse!
。
由于我们引用了 Actuator 依赖,所以当前程序支持健康检查,输入 curl http://localhost:8080/actuator/health
,若输出 {"status":"UP"}
,说明程序健康状况良好;如输出 {"status":"DOWN"}
,则说明程序健康状况不佳。
打包
在终端中进入项目目录,输入以下命令:
mvn clean package -Dmaven.test.skip
该命令是 maven 的打包命令,如果你的电脑上没有安装maven,可以参考这个网址:http://maven.apache.org/install.html。
若出现如下提示信息,则说明打包成功。
这时项目目录中会多出一个名为 target 的目录,在 target 中有两个 hellospring 的 jar 包。带有 original 后缀的是原始 jar 包,大小只有几 KB,而实际使用的 jar 包是不带 original 后缀名的,大小有十几 MB。之所以会有这么大的差距是因为在打包的过程中把所有的依赖都放入了 jar 包里面,从而使得这个 Web 程序可以独立运行,而不必放入外置容器(比如 tomcat)里面。
将 Idea 里面运行的程序关掉,执行下面这个命令,也能运行程序:
java -jar hellospring-0.0.1-SNAPSHOT.jar
在另一个终端中执行 curl http://localhost:8080/hello
,同样得到了Hello, supermouse!
的输出。