Spring Boot使创建可运行的独立,生产级基于Spring的应用程序变得容易。我们对Spring平台和第三方库持固执己见的观点,这样您就可以以最小的麻烦开始使用。大多数Spring Boot应用程序只需要很少的Spring配置。
您可以使用Spring Boot创建可以通过使用java -jar或更传统的war部署启动的Java应用程序。我们还提供了一个运行“ spring scripts”的命令行工具。
我们的主要目标是:
Spring Boot 2.2.1.RELEASE需要Java 8,并且与Java 13(包括)兼容。还需要Spring Framework 5.2.1.RELEASE或更高版本。
为以下构建工具提供了明确的构建支持:
Build Tool | Version |
---|---|
Maven | 3.3+ |
Gradle | 5.x (还支持4.10,但已弃用) |
Spring Boot 2.2.1.RELEASE支持以下嵌入式servlet容器:
Name | Servlet Version |
---|---|
Jetty 9.4 | 3.1 |
Undertow 2.0 | 4.0 |
在开始之前,请打开命令行窗口并运行以下命令,以确保安装了有效的Java和Maven版本:
$ java -version
java version “1.8.0_102”
Java™ SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot™ 64-Bit Server VM (build 25.102-b14, mixed mode)
$ mvn -v
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T14:33:14-04:00)
Maven home: /usr/local/Cellar/maven/3.3.9/libexec
Java version: 1.8.0_102, vendor: Oracle Corporation
打开IDEA(也可以是其他编辑器)点击Create New Project新建项目:
确认项目的存放目录,项目基本搭建完成:
添加spring-boot-starter-web依赖之前可以在项目的根目录下执行mvn dependency:tree命令,可以看到该项目依赖了哪些jar包.
添加spring-boot-starter-web依赖
再次执行mvn dependency:tree命令,你会发现比没有引入web依赖之前多了一些web相关的jar包,tomcat之类的
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
1. @description
2. @AUTHOR yangzhiguo
3. @DATE 2019/12/1
*/
@RestController
@EnableAutoConfiguration
public class Example {
@RequestMapping("/")
String home() {
return "hello world";
}
public static void main(String[] args) {
SpringApplication.run(Example.class, args);
}
}
启动应用程序的方式:
$ mvn spring-boot:run
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.2.1.RELEASE)
....... . . .
....... . . . (log output here)
....... . . .
........ Started Example in 2.222 seconds (JVM running for 6.514)
启动完成后再浏览器输入localhost:8080可以看到“hello,world”的输入
org.springframework.boot
spring-boot-maven-plugin
引入完成后执行 mvn package命令完成后可以在项目目录中看到生成一个target目录,在目录中会存在两个jar文件xxx.jar和xxx.jar.original,两个都是打包生成的,后面original这个是xxx.jar打包生成之前的副本.
$ mvn package
[INFO] Scanning for projects…
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building myproject 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] … …
[INFO] — maven-jar-plugin:2.4:jar (default-jar) @ myproject —
[INFO] Building jar: /Users/developer/example/spring-boot-example/target/myproject-0.0.1-SNAPSHOT.jar
[INFO]
[INFO] — spring-boot-maven-plugin:2.2.1.RELEASE:repackage (default) @ myproject —
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
执行命令$ jar tvf target/xxx-0.0.1-SNAPSHOT.jar可以看到应用启动成功标识:
$ jar tvf target/myproject-0.0.1-SNAPSHOT.jar
至此一个spring-boot的‘hello world’已经完成。