首页 > 其他分享 >Spring Boot学习笔记day01

Spring Boot学习笔记day01

时间:2023-08-19 21:44:33浏览次数:39  
标签:实体类 请求 形参 Spring day01 Boot jar Controller 注解

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文件中,最后刷新依赖即可。

标签:实体类,请求,形参,Spring,day01,Boot,jar,Controller,注解
From: https://www.cnblogs.com/bwcxin/p/17643179.html

相关文章

  • 社区版idea插件spring assistant开发springboot项目返回jsp
    最近了解到社区版idea没有专门的sringboot,网上网友提供支持说是springboot社区版有几种开发模式:springinitilizer:https://start.spring.io/在线创建springassistant插件支持(具体版本可以去github找)这次我选择第二种,然而在springboot开发返回jsp页面一直报错前端页面报错:后端控......
  • Spring set 注入不同类型的参数
    案例建立复杂的数据类型Student类publicclassStudent{privateStringname;privateAddressaddress;privateList<String>books;privateMap<String,String>card;privatePropertiesinfo;privateStringwinner;privatebool......
  • 【Spring Boot】Bean字段校验-JSR303
    规范:JSR303 BeanValidation1.0 开发过程:1、Bean定义字段校验规则:2、Controller引入@Valid(来自)或@Validated(来自org.springframework.validation.annotation)触发校验样例如下:背景知识:1.HibernateValidator定义Bean字段校验的注解和校验器实现......
  • Spring Boot 实现各种参数校验
    简单使用JavaAPI规范(JSR303)定义了Bean校验的标准validation-api,但没有提供实现。hibernatevalidation是对这个规范的实现,并增加了校验注解如@Email、@Length等。SpringValidation是对hibernatevalidation的二次封装,用于支持springmvc参数自动校验。接下来,我们以spring-boot......
  • Spring循环依赖即解决方案
    本文会回答什么是循环依赖,Spring怎么解决循环依赖,Spring对于循环依赖无法解决的场景三个问题1.什么是循环依赖?循环依赖其实就是循环引用,也就是两个或则两个以上的bean互相持有对方,最终形成闭环。比如A依赖于B,B依赖于C,C又依赖于A。如下图:注意,这里不是函数的循环调用,是对象的相......
  • flask引入bootstrap5
    一个案例1.初始化一个flaskappfromflaskimportFlask,render_template,requestfromflask_wtfimportFlaskForm,CSRFProtectfromwtforms.fieldsimport*fromflask_bootstrapimportBootstrap5#初始化一个flaskappapp=Flask(__name__)#设置秘钥,没有的话,会失败。......
  • 基于SpringBoot的在线拍卖系统
    随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单管理、留言板管理、系统管理,用户;首页、个人中心、历......
  • 两步实现springBoot导出带动态表格的word docx文档
    1.第一步导入poi依赖<!--ApachePOI--><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency>......
  • 基于springboot的医护人员排班系统
    随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了医护人员排班系统的开发全过程。通过分析医护人员排班系统管理的不足,创建了一个计算机管理医护人员排班系统的方案。文章介绍了医护人员排班系统的系统分析部分,包括可行性分析等,系统设......
  • 基于springboot图书个性化推荐系统的设计与实现
    本论文主要论述了如何使用JAVA语言开发一个图书个性化推荐系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述图书个性化推荐系统的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各个阶段分......