Version: Next

第一个SpringBoot程序

  • JDK1.8
  • Maven 3.6.1
  • SpringBoot 2.X
  • IDEA

官方提供了一个网站页面https://start.spring.io/来创建SpringBoot项目,而IDEA集成了这个页面,从这个页面构建的是一个标准Maven项目。

从IDEA创建SpringBoot项目

new project选择Spring initializer,添加Spring web


项目结构分析


其中.gitignoreHELP.mdnvbwmvnw.cmd文件都可以删除

  • 一个程序的主启动类DemoApplication
  • 一个application.properties配置文件
  • 一个测试类
  • 一个pom.xml

编写一个Controller

提示

在主程序的同级目录下,新建一个controller包

  • 新建一个HelloController


    @RestController
    public class HelloController {
    @RequestMapping("/hello")
    public String hello() {
    return "hello SpringBoot";
    }
    }

pom.xml分析

不用配置web.xml,不用配置DispatcherServlet,spring-boot-starter-web自动搞定了

所有的SpringBoot依赖都是用spring-boot-starter开头

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 父依赖-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- web场景启动器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--springboot单元测试-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<!-- 剔除依赖-->
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<!-- 打包插件-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

SpringBoot的pom.xml文件主要有四个部分

  1. 项目元数据信息:创建时候输入的Project Metadata部分,也就是Maven项目的基本元素,包括groupId、artifactId、version、name、description等
  2. parent:继承spring-boot-starter-parent的依赖管理,控制版本和打包等内容
  3. dependencies:项目依赖maven坐标,
    • spring-boot-starter-web用于实现HTTP接口,该依赖中包含了SpringMVC,官网对它的描述时:使用SpringMVC构建Web(包括RESTFul)应用程序的入门者,使用Tomcat作为默认嵌入式容器
    • spring-boot-starter-test用于编写单元测试依赖包。
  4. build:构建配置部分。默认使用了spring-boot-maven-plugin,配合spring-boot-starter-parent就可以把SpringBoot应用打成jar包来运行

maven打包

运行maven package生命周期即可

修改SpringBoot banner图案

在项目resources目录下新建一个banner.txt文件

图案到https://www.bootschool.net/ascii生成,拷贝到文件中即可