目录
一、SpringBootWeb快速入门程序
1. 需求
2.开发步骤
第1步:创建SpringBoot工程项目
第2步:定义HelloController类,添加方法hello,并添加注解
第3步:测试运行
2.1创建SpringBoot工程(需要联网)
基于Spring官方骨架,创建SpringBoot工程。
基本信息描述完毕之后,勾选web开发相关依赖。
点击Finish之后,就会联网创建这个SpringBoot工程,创建好之后,结构如下:
2.2定义请求处理类
在com.itheima这个包下创建一个子包controller
然后在controller包下新建一个类:HelloController
package com.itheima.controller; import org.springframework.web.bind.annotation.*; @RestController public class HelloController { @RequestMapping("/hello") public String hello(){ System.out.println("Hello World ~"); return "Hello World ~"; } }
2.3运行测试
运行SpringBoot自动生成的引导类
打开浏览器,输入
http://localhost:8080/hello
3.Web分析
二、入门程序解析
1.Spring官方骨架
上面我们创建的SpringBoot入门案例,是基于Spring官方提供的骨架实现的。
Spring官方骨架,可以理解为Spring官方为程序员提供一个搭建项目的模板。
我们可以通过访问:https://start.spring.io/ ,进入到官方骨架页面
后面步骤......
2.起步依赖
在我们之前讲解的SpringBoot快速入门案例中,同样也引用了:web依赖和test依赖
spring-boot-starter-web和spring-boot-starter-test,在SpringBoot中又称为:起步依赖
而在SpringBoot的项目中,有很多的起步依赖,他们有一个共同的特征:就是以
spring-boot-starter-
作为开头。在以后大家遇到spring-boot-starter-xxx这类的依赖,都为起步依赖。起步依赖有什么特殊之处呢,这里我们以入门案例中引入的起步依赖做为讲解:
spring-boot-starter-web:包含了web应用开发所需要的常见依赖
spring-boot-starter-test:包含了单元测试所需要的常见依赖
spring-boot-starter-web内部把关于Web开发所有的依赖都已经导入并且指定了版本,只需引入
spring-boot-starter-web
依赖就可以实现Web开发的需要的功能
Spring的官方提供了很多现成的starter(起步依赖),我们在开发相关应用时,只需要引入对应的starter即可。
官方地址:Spring Boot Reference Documentation
每一个起步依赖,都用于开发一个特定的功能。
举例:当我们开发中需要使用redis数据库时,只需要在SpringBoot项目中,引入:spring-boot-starter-redis ,即可导入redis开发所需要的依赖。
3.SpringBoot父工程
在我们之前开发的SpringBoot入门案例中,我们通过maven引入的依赖,是没有指定具体的依赖版本号的。
为什么没有指定<version>版本号,可以正常使用呢?
因为每一个SpringBoot工程,都有一个父工程。依赖的版本号,在父工程中统一管理。
4.内嵌Tomcat
问题:为什么我们之前书写的SpringBoot入门程序中,并没有把程序部署到Tomcat的webapps目录下,也可以运行呢?
原因呢,是因为在我们的SpringBoot中,引入了web运行环境(也就是引入spring-boot-starter-web起步依赖),其内部已经集成了内置的Tomcat服务器。
我们可以通过IDEA开发工具右侧的maven面板中,就可以看到当前工程引入的依赖。其中已经将Tomcat的相关依赖传递下来了,也就是说在SpringBoot中可以直接使用Tomcat服务器。
当我们运行SpringBoot的引导类时(运行main方法),就会看到命令行输出的日志,其中占用8080端口的就是Tomcat。