根据官方SpringBoot文档描述,BUILD ANYTHING WITH SPRING BOOT (用SPRING BOOT构建任何东西,很牛X呀!),下面是官方文档介绍(文档地址,感兴趣可以看看:https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-documentation):
2.1 JDK环境:1.8+;
2.2 项目构建工具:maven:3.2+;
gradle:与4兼容;
2.3 Servlet容器:
Name | Servlet Version |
---|---|
Tomcat 8.5 | 3.1 |
Jetty 9.4 | 3.1 |
Undertow 1.4 | 3.1 |
3.1 引入Maven依赖库:
1 <?xml version="1.0" encoding="UTF-8"?>
2 <project xmlns="http://maven.apache.org/POM/4.0.0"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5 <modelVersion>4.0.0</modelVersion>
6
7 <groupId>com.cn</groupId>
8 <artifactId>spring-boot-hello</artifactId>
9 <version>1.0-SNAPSHOT</version>
10
11 <properties>
12 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
13 <java.version>1.8</java.version>
14 </properties>
15
16 <parent>
17 <groupId>org.springframework.boot</groupId>
18 <artifactId>spring-boot-dependencies</artifactId>
19 <version>2.0.1.RELEASE</version>
20 </parent>
21
22 <dependencies>
23 <dependency>
24 <groupId>org.springframework.boot</groupId>
25 <artifactId>spring-boot-starter-web</artifactId>
26 </dependency>
27 </dependencies>
28 </project>
3.2 创建启动类:
1 package com.cn;
2
3 import org.springframework.boot.SpringApplication;
4 import org.springframework.boot.autoconfigure.SpringBootApplication;
5
6 /**
7 * @program: spring-boot-example
8 * @description: 启动类
9 * @author:
10 * @create: 2018-04-28 10:42
11 **/
12 @SpringBootApplication
13 public class HelloApplication {
14
15 /**
16 * @Description:
17 * @Param: [Class] 配置类源类
18 * @Param: [args] 应用启动参数
19 * @return: void
20 * @Author:
21 * @Date: 2018/4/28
22 */
23 public static void main(String[] args) {
24 SpringApplication.run(HelloApplication.class, args);
25 }
26
27 }
3.3 创建Controller访问对接口:
1 package com.cn.controller;
2
3 import org.springframework.web.bind.annotation.RequestMapping;
4 import org.springframework.web.bind.annotation.RestController;
5
6 /**
7 * @program: spring-boot-example
8 * @description: 控制层:helllocontroller
9 * @author:
10 * @create: 2018-04-28 10:49
11 **/
12
13 @RestController
14 public class HelloController {
15
16 /**
17 * @Description:
18 * @Param:
19 * @return:
20 * @Author:
21 * @Adress: http://localhost:8080/hello
22 * @Date: 2018/4/28
23 */
24 @RequestMapping("hello")
25 public String hello() {
26 return "Hello World!";
27 }
28
29 }
注意:HelloController.java文件要在启动类的本包或子包中,才可以被启动类扫描到,详情请看:http://www.cnblogs.com/lfalex0831/p/8922468.html,SpringBoot默认扫描的范围为本包及子包;
3.4 启动启动类,打开浏览器,输入 http://localhost:8080/hello 访问:
返回HelloWorld到页面;
注:
我们也可以通过插件创建一个在生产环境中运行的可执行jar文件来完成我们的示例。
首先引入依赖:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
在项目目录下打开cmd命令,使用 mvn package 命令进行打包,如下:
如果想查看打包后的jar文件内部目录,可用命令 jar tvf target/myproject-0.0.1-SNAPSHOT.jar 查看目录结构;
使用 java -jar target\spring-boot-hello-1.0-SNAPSHOT.jar 启动应用如下:
测试结果如3.4所演示的;
如果在启动时遇见没有主清单目录的错误的话,请看:http://www.cnblogs.com/lfalex0831/p/8967428.html
完整示例:https://gitee.com/lfalex/spring-boot-example
参考官方文档:https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-documentation