# Web入门篇
SpringBoot可以轻松创建独立的,生产级的基于Spring的应用程序,SpringBoot对周边框架的精简和整合,实现自动装配!这篇主要是SpringBoot入门的HelloWorld!
# 简单介绍
SpringBoot 是由 Pivotal 团队提供的全新框架 ,它之前业内大多都使用ssm构建项目,需要配置各种xml配置文件,随着微服务的发展,这种繁琐的配置越来越让人头疼!SpringBoot对此做了简化配置,让开发人员快速构建基于Spring的项目
特点
- 快速创建Spring应用
- 内嵌Tomcat,Jetty等Servlet容器,最后打包的jar可以直接启动运行
- 无代码生成,也不需要配置额外的xml
- 尽可能自动配置Spring容器
# 环境准备
JDK 1.8 Maven 3.6.3 IDEA
备注: maven可以设置下阿里云镜像,下载速度会很快
<!-- 阿里云镜像 -->
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
1
2
3
4
5
6
7
2
3
4
5
6
7
# 创建项目
此系列我打算使用一个父级项目springboot-demo,然后下面建立各个子项目的方式来创建项目。
IDAE:file -> new -> project
选择项目名称,项目路径,等等
选择版本号,选择Web环境的依赖
项目结构如图,删除没用的文件,因为本项目是父项目,所以src也删了,改一下父pom.xml文件
<?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.biubiu</groupId>
<artifactId>springboot-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!--SpringBoot父依赖-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!--属性设置-->
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!--这个Web依赖也删掉,在各自的子模块引入-->
<!--
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
-->
</dependencies>
<!--maven打包插件也删掉,在各自的子模块引入-->
<!--
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
-->
</project>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
好,继续子项目创建,右键项目,new -> module 这里选择Maven项目就行
创建完成后,再看看项目结构
可以看到父级pom.xml下多了module模块,这个表示子模块的意思
这里我们把项目搭建完毕了,我们改下子模块springboot-web-demo的pom.xml如下
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>springboot-demo</artifactId>
<groupId>com.biubiu</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>springboot-web-demo</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!--maven打包插件-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# 编写代码
- 项目结构
注意,application.properties是空的,可以不加
- 启动类 WebApplicationo.java
/**
* <p>
* WebApplication
* </p>
*
* @author biubiu
* @since 2021/8/10
*/
@SpringBootApplication
public class WebApplication {
public static void main(String[] args) {
SpringApplication.run(WebApplication.class, args);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
- HelloController.java
/**
* <p>
* HelloController
* </p>
*
* @author biubiu
* @since 2021/8/10
*/
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "hello spring-boot!!!";
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
- 启动项目:日志如下说明成功
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.5.3)
......
......
2021-08-10 15:42:37.586 INFO 9444 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1160 ms
2021-08-10 15:42:38.037 INFO 9444 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2021-08-10 15:42:38.051 INFO 9444 --- [ main] com.biubiu.web.WebApplication : Started WebApplication in 2.3 seconds (JVM running for 3.947)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
- 浏览器输入 http://localhost:8080/hello测试
# 注意事项
- SpringBoot内嵌了Tomcat容器,所以不需要外部Tomcat容器
- 思考点高深的东西,SpringBoot自动装配原理是啥?