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
项目结构分析
其中.gitignore
、HELP.md
、nvbw
、mvnw.cmd
文件都可以删除
- 一个程序的主启动类
DemoApplication
- 一个
application.properties
配置文件 - 一个测试类
- 一个pom.xml
编写一个Controller
提示
在主程序的同级目录下,新建一个controller包
新建一个
HelloController
@RestControllerpublic 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文件主要有四个部分
- 项目元数据信息:创建时候输入的Project Metadata部分,也就是Maven项目的基本元素,包括groupId、artifactId、version、name、description等
- parent:继承
spring-boot-starter-parent
的依赖管理,控制版本和打包等内容 - dependencies:项目依赖maven坐标,
spring-boot-starter-web
用于实现HTTP接口,该依赖中包含了SpringMVC,官网对它的描述时:使用SpringMVC构建Web(包括RESTFul)应用程序的入门者,使用Tomcat作为默认嵌入式容器spring-boot-starter-test
用于编写单元测试依赖包。
- build:构建配置部分。默认使用了
spring-boot-maven-plugin
,配合spring-boot-starter-parent
就可以把SpringBoot应用打成jar包来运行
maven打包
运行maven package生命周期即可
修改SpringBoot banner图案
在项目resources
目录下新建一个banner.txt
文件
图案到https://www.bootschool.net/ascii生成,拷贝到文件中即可