前言
上一篇学习了SpringBoot的基本概念和几大特性,这一篇主要记录第一个SpringBoot案例实现
一、案例需求
使用Spring Initializr方式构建Spring Boot项目,并请求Controller中的目标方法,将返回值 响应到页面
二、案例实现
1.使用Spring Initializr方式构建Spring Boot项目
spring Initializr是一个Web应用,它提供了一个基本的项目结构,能够帮助我们快速 构建一个基础的Spring Boot项目
我们来使用spring Initializr创建一个SpringBoot项目(一定要联网)
下一步以后我们需要选择初始化依赖的包
选择了Spring Web后我们可以看到右侧的描述中写的很清楚,会帮我们初始化web项目,引入restful,使用springmvc和tomcat
如果需要引入其他的依赖,比如数据库的话自己选择就好了
Spring Boot项目就创建好了。创建好的Spring Boot项目结构如图:
使用Spring Initializr方式构建的Spring Boot项目会默认生成项目启动类、存放前端静态资源和页 面的文件夹、编写项目配置的配置文件以及进行项目单元测试的测试类
程序启动类SpringbootDemoApplicat必须放到最外层,原因是SpringBoot启动时只会扫描到启动类所在的包及其子包
2.创建Controller
在com.lagou包下面创建一个DemoController,并在里面编写一个简单的handler方法
代码如下:
@RestController // 该注解为组合注解,等同于Spring中@Controller+@ResponseBody注解
public class DemoController {
@RequestMapping("demo")
public String demo(){
return "hello springBoot";
}
}
## 3.启动项目、测试请求 启动项目:运行主程序启动类SpringbootDemoApplication ![在这里插入图片描述](https://img-blog.csdnimg.cn/b5cde8c1f6d3492882d4c11062ca92ac.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6LS85LiN6LWw56m677yf,size_20,color_FFFFFF,t_70,g_se,x_16) 启动时控制台打印的信息中我们首先看到的还是Spring的logo,同时还看到帮我们启动了一个Tomcat且端口号是默认的8080 ![在这里插入图片描述](https://img-blog.csdnimg.cn/d109e834b6f045a5827f2a6c0b81dfaf.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6LS85LiN6LWw56m677yf,size_20,color_FFFFFF,t_70,g_se,x_16)
测试请求:直接在浏览器上访问http://localhost:8080/demo
遗留问题
- starter是什么?我们如何去使用这些starter?
- 为什么包扫描只会扫描核心启动类所在的包及其子包
- 在springBoot启动的过程中,是如何完成自动装配的?
- 内嵌Tomcat是如何被创建及启动的?
- 使用了web场景对应的starter,springmvc是如何自动装配?