SpringBoot2笔记-1.2 SpringBoot2入门
本文参考文档Getting Start部分。 | |
该部分为五节,分别介绍SpringBoot2、系统要求、安装、开发第一个应用和后续应该如何学习。 | |
本文主要介绍如何开发第一个SpringBoot应用 | |
准备
- 安装好java8以上,熟悉基本的IDEA的使用。
- 配置maven镜像加速以及默认JDK版本。
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
- 创建一个基本的Maven java项目。
4.1. Creating the POM 创建pom文件
如果通过IDEA创建的maven项目一般都有pom文件,我们只需要修改pom文件,添加spring-boot-starter-parent父依赖。
<?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>
<groupId>com.example</groupId>
<artifactId>myproject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.13</version>
</parent>
<description/>
<developers>
<developer/>
</developers>
<licenses>
<license/>
</licenses>
<scm>
<url/>
</scm>
<url/>
<!-- Additional lines to be added here... -->
</project>
通过mvn命令可以打包并导入依赖,以及查看导入的依赖。。
$ mvn package # 打包并导入依赖
$ mvn dependency:tree # 以tree结构查看导入的依赖
此时可以发现spring-boot-starter-parent
并没有添加任何依赖,它只负责提供了一个dependency-management
标签,以供依赖项中可以省略版本信息。
4.2. Adding Classpath Dependencies 添加类路径依赖
SpringBoot对于不同的开发场景,提供了不同的starter依赖项。
我们将以web应用作为第一个SpringBoot开发示例,因此将导入web相关的starter依赖项。
接下来,在pom文件中parent标签下方,添加一个以下spring-boot-starter-web
依赖。
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
4.3. Writing the Code 创建SpringBoot启动和Web控制类
导入依赖后,我们将编写核心代码。
Maven将从src/main/java
路径下导入并编译源码,所以创建一个类src/main/java/Example.java
包含以下核心代码。
import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.web.bind.annotation.*;
@RestController
@EnableAutoConfiguration
public class Example {
@RequestMapping("/")
String home() {
return "Hello World!";
}
public static void main(String[] args) {
SpringApplication.run(Example.class, args);
}
}
这段Example代码中有以下需要注意:
@RestController
和@RequestMapping
是SpringMVC的注解,负责处理请求。@EnableAutoConfiguration
负责开启了SpringBoot中的自动配置。- main方法中调用了SpringApplication 的run方法,将Example类作为主要的一个Spring组件。
4.4. Running the Example
最终我们运行代码
通过maven启动
基于spring-boot-starter-parent
,可以在根目录通过mvn spring-boot:run
命令启动。
也可以通过jar包方式启动
添加如下依赖
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
重新maven打包后,将生成一个10m左右的jar包。
可以通过java -jar xxx.jar
命令启动。
效果
最终在地址栏输入localhost:8080
,控制台中会输出
Hello World!
总结
本文没有跟随视频课程和语雀资料的内容做笔记,而是直接看的原文档。
原文档内容确实讲的非常好,同时也要感谢视频课程授我以渔,让我了解了看文档的正确方式。
后续我还是以视频课程文档为主做记录,同时对文档相应的重要内容做笔记。
Getting Start文档最后指出,后续衔接阅读 using-spring-boot 部分的文档,再是 Spring Boot features 部分。