苍穹外卖第六天

今天下午没课,然后课上补了一些之前javaweb没听懂的知识,今天学下来的感受就是有些听不懂有一点懵。

今日收获

1.重新学习了请求响应部分

请求参数

  • 简单参数
  • 实体参数
  • 数组参数
  • 日期参数
  • 路径参数
  • 集合参数

@RequestParam

@RequestParam 是 Spring MVC 框架中用于从 HTTP 请求中提取请求参数的注解,通常用于控制器(Controller)方法的参数上。

其中在集合参数的时候我们要注意

@DataTimeFormat

@DateTimeFormat 是 Spring 框架中用于格式化日期和时间数据的注解,主要用于将字符串类型的请求参数(如 URL 参数或表单字段)自动转换为 Java 的日期时间类型(如 DateLocalDateLocalDateTime 等),或反向转换。它解决了 HTTP 请求中日期时间字符串与 Java 对象之间的类型转换问题。

在遇到日期参数的时候我们就要用到这个注解因为,前端传过来的日期参数格式不定,所以我们要指定格式

@Requestbody

这个注解简单来说就是把HTTP请求的数据给转换成我们的Java对象,所以在Json参数的时候我们要注意加入这个注解

@PathVariable

@PathVariable 是 Spring MVC 中用于从 URL 路径模板中提取变量值的注解,常用于 RESTful API 设计中,将动态路径片段(如 /user/{id})绑定到控制器方法的参数上。它的核心作用是将 URL 的结构化数据映射到代码逻辑中。

所以我们遇到路径参数的时候我们注意要使用这个注解

2.分成解耦

三层架构

  • Controller层:控制层,接收前端发送的请求,对请求进行处理,响应数据
  • Service层:业务逻辑层,处理具体的业务逻辑。
  • Dao层:数据访问层,负责数据的访问操作,之后在Mybits中就是Mapper层,来操作数据库

其实就是前端发送请求———》Controller——》Service——》Mapper然后Mapper——》Service——》Controller——》响应给前端。

IoC(控制反转)

核心概念
  • 传统开发模式:对象主动创建和管理依赖(如 new Service()),控制权在代码内部

  • IoC 模式:将对象的创建、依赖管理和生命周期交给容器(如 Spring)控制权转移到外部容器

作用
  • 解耦:对象无需关心依赖的创建和管理,只需声明需要什么。

  • 集中管理:容器统一管理对象,提高可维护性和扩展性。

DI(依赖注入)

核心概念
  • 依赖注入 是 实现 IoC 的具体手段,指容器通过某种方式(构造器、Setter 等)将依赖对象传递给目标对象。

  • 目标:让类只需声明依赖,无需主动查找或创建。

在这部分介绍几个注解

@Component

当前类交给IOC容器管理,成为IOC容器的Bean。它是最基础的组件注解,其他如 @Service@Repository@Controller 等都是其派生注解。不过@Repository我们很少用,我们基本都是用@mapper,这几个派生注解就可以替换@component,是service层就用@Service,Controller层就用Controller等等,然后如果不属于我们的三层架构我们就可以用@component,来把这个类交给IOC容器管理

然后我们会使用@Autowired进行依赖注入就不用我们去new新对象了。

@RestController

它其实是@Controller和@Requestbody的结合,使用它表示这是在Controller层并且我们响应给前端的数据会自动从java对象转换成Json格式,然后响应给前端。所以在Controller层是我们也会使用@RestController更为方便。

3.完成了微信登录的接口

服务器端:

调用微信接口服务,获取用户唯一ID:

UserService层

拦截器把没有令牌或者是解析失败的请求给拦截

最后我们还需要在配置类中注册拦截器

随笔

今天的学习中收获肯定是有的,不过在写代码的时候有些知识发现听其实可以听,不过要是真的叫我来写,我还是真的不行,还是太菜了,今天一如既往的背单词,然后补了之前没有听懂的一些知识,明天也会继续去补,太菜了!太菜了!,继续加油吧。吐槽室友的呼噜声,昨天我十二点上床睡觉,硬是到了凌晨三点好像才睡着!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值