SpringBoot项目结构说明
项目____pom.xml:用于管理项目依赖的
|_src
|_main
|_java:蓝色的,写java源代码的
|_resource:存放静态资源文件(static目录下)、项目配置文件application.properties、模板文件(template目录下)
|_test
|_java:绿色的,写测试代码的
项目名Application.java不要删!!!这是整个项目的启动类!
启动SpringBoot项目
(1)打开启动类
(2)点击main方法左边的绿色三角形,选择run...即可
启动之后发现的细节:
(1)SpringBoot默认使用static下的index.html文件作为首页
(2)项目部署的端口号,在配置文件application.properties中server.port配置,默认为8080。
Spring Web模块常用注解:
1、@Controller:写在Controller类上,用于创建Controller类的对象
Controller:用于处理请求并返回响应的控制类
原理:项目运行的时候,SpringBoot会扫描与启动类同层级的包,并根据
@Controller、@Service、@Component等注解创建对应的对象并
存入IoC容器。
PS:对象此时不是我们开发者创建的!!!
如何获取IoC容器中的对象:
(1)@Resource:先根据变量名称去找,若找不到则根据变量的数据类型找
(2)@Autowired:先数据类型去找,若找不到则根据变量名称去找
作用:从IoC容器中获取对象赋值给它们所注解的变量,均放在变量声明上。
2、@RequestMapping
作用:用于建立URL和Controller方法之间的对应关系,此时,该URL的请求会
交由指定的Controller方法处理。
书写位置:
(1)写在类上面:是URL的第一级访问目录
(2)写在方法上面:是URL的第二级访问目录
注意:当Controller中,类上、方法上均使用该注解,要注意拼接路径!!!
3、根据请求的提交方式筛选请求
@GetMapping:仅处理Get方式提交的指定请求
@PostMapping:仅处理Post方式提交的指定请求
@PutMapping:仅处理Put方式提交的指定请求
@DeleteMapping:仅处理Delete方式提交的指定请求
4、接收请求中携带的数据
携带的数据:指的是请求体中、URL的QueryString部分的数据
(1)通过形参名和数据名保持一致,直接使用形参接收数据。
若不一致,则需要在形参前使用@RequestParam("数据名")注解。
该注解的作用:将指定数据名的数据 赋值给 该注解后面的形参。
(2)使用实体类对象封装数据
注意:在形参列表中写实体类变量
该方式要求实体类的属性名要和数据名保持一致,并且该方式不支
持JSON字符串。
{
"account": "dw",
"pwd": "123456"
}
若要让这种方式支持JSON字符串的话,则请求的方式为POST,还需要
在实体类形参前面使用@RequestBody注解。该注解会将JSON字符串
转换为实体类对象并赋值给后面的形参。
(3)使用@RequestParam注解+Map集合接收数据
若请求是POST方式提交的,并且数据是JSON字符串,
则需要使用@RequestBody注解+Map集合
5、@PathVariable
该注解用于获取URL中访问资源路径的值。它需要搭配{变量名}使用。
语法:@PathVariable("路径变量名")
书写位置:写在形参前面
注:
(1){变量名}:路径变量,写在Controller方法映射的URL中,
如:/getPath/{name}/{age}
(2)@PathVariable会获取指定路径变量的值,并赋值给后面的形参
6、获取请求头的数据
@RequestHeader("请求头字段名"):放在形参前面,用于获取指定请求头
的数据并赋值给后面的形参
7、@ResponseBody
该注解放在方法上,它会将方法的返回值作为响应体返回给浏览器/客户端
(1)若要返回普通数据,则直接return即可
(2)若要返回JSON字符串,则需要设置方法的返回值类型为实体类
然后直接返回实体类对象
@ResponseBody还可以放在类上,表示该类中所有的方法都具有响应体
拓展:
若Controller类中,所有的方法均具有响应体,此时,我们
可以在Controller类上直接使用@RestController。
@RestController = @Controller + @ResponseBody
拓展
1、依赖
引入到项目中的第三方jar包
什么时候会用到第三方jar包 ---> 当项目中需要用到第三方的框架、库、功能的时候
2、Maven
在以前,若项目中需要使用第三方Jar包需要自己去网上下载,并手动导入到项目中。
有了Maven之后,构建项目会更加的简单,摒弃了手动查找、下载、导入jar包这些麻烦的操作。
流程:
(1)Maven在构建项目的时候,会先从本地仓库中根据POM坐标查找jar包;
(2)若本地仓库没有则去远程仓库(阿里云服务器)中根据POM坐标下载jar包到本地仓库;
(3)若本地仓库有jar包,则会自动引入jar包至项目中。
类似于Python的pip命令下载依赖。
POM坐标:用于唯一标记jar包
查找POM坐标的网址:https://mvnrepository.com/
PS:以后开发项目直接先在https://mvnrepository.com/中找POM坐标,然后复制POM坐标
粘贴到pom.xml文件中,最后刷新依赖即可。