qidao123.com技术社区-IT企服评测·应用市场

标题: 苍穹外卖 - Day02 学习条记 [打印本页]

作者: 小小小幸运    时间: 5 天前
标题: 苍穹外卖 - Day02 学习条记
一、核心功能:新增员工

在实现新增员工功能时,有几个关键的技术点和计划考量须要我们掌握。
1.1 数据传输对象 (DTO) 的应用

核心概念: 数据传输对象(Data Transfer Object, DTO)是在应用程序不同分层之间通报数据的专用对象。其重要目的是封装数据,实现层与层之间的解耦,并精确控制数据传输的粒度,制止直接暴露领域模子(Entity/POJO)的完备结构。
   (聊个通俗易懂的:)
  把它想象成一个“定制快递盒”。前端发来的数据,或者后端要发给前端的数据,不肯定和数据库里存的那个 Employee 对象一模一样。DTO 就是根据当前操纵须要,量身定做的“盒子”,只装须要的字段。如许各层之间通报数据就更清爽、安全。
  实践要点:

1.2 JWT (JSON Web Token) 令牌认证的应用

核心概念: JSON Web Token (JWT) 是一种开放尺度 (RFC 7519),用于在各方之间安全地传输JSON格式的声明信息(Claims),常用于用户身份验证和授权。
   (简单来说:)
  用户登录成功后,服务器发一个加密的“令牌”(JWT)给前端。前端之后每次请求须要权限的接口,都带上这个“令牌”。服务器拿到“令牌”验证一下真伪和有效期,就知道这个用户是谁、有没有权限了。全程服务器不须要保存登录状态,很得当分布式系统。
  根本流程:
1.3 ThreadLocal:线程局部变量的应用

核心概念: ThreadLocal 为每个使用该变量的线程提供一个独立的变量副本,从而实现线程间的数据隔离。常用于在单次请求的处置惩罚链路中通报用户身份等上下文信息。
   (打个比方:)
  ThreadLocal 就像给每个服务员(线程)配了一个专属托盘。服务员A的托盘放A客人的东西,服务员B的放B客人的,互不干扰。在Web应用里,一个请求通常由一个线程处置惩罚到底,我们就可以在请求开始时把当前用户ID放到这个线程的“托盘”里,后续业务逻辑随时能取用,不消传来传去。
  常用方法:

二、核心功能:员工分页查询

2.1 PageHelper 分页插件的应用

核心概念: PageHelper 是 MyBatis 的一款物理分页插件,能自动为SQL语句追加分页逻辑,简化开发。
   (简单来说:)
  你不消再费心怎么写 LIMIT 这类分页SQL了。执行查询前,用 PageHelper.startPage(页码, 每页数量) “打个招呼”,它就帮你搞定分页。
  根本使用步骤:
2.2 Web层响应的日期时间格式化

题目配景: Java 8 的日期时间范例(如 LocalDateTime)默认序列化为JSON时,格式可能不符合前端要求。
方式一:使用 @JsonFormat 注解 (Jackson库)

方式二:自界说消息转换器实现全局日期时间格式化 (推荐)
通过配置Spring MVC的JSON处置惩罚机制,实现全局同一的日期时间格式。
核心步骤概览:
   (一句话概括背后逻辑:)
  我们定制了一个懂得按特定格式处置惩罚日期时间的“JSON翻译官”(JacksonObjectMapper),然后告诉Spring MVC:“以后全部Java对象和JSON字符串互转的活儿,都让这个配置了新翻译官的‘JSON快递员’(MappingJackson2HttpMessageConverter)优先干!” 如许,整个项目的日期时间格式就都听话了。
  三、补充知识:JSON序列化与日期格式化

在咱们一样寻常用 Spring MVC 开发Web应用,尤其是前后端分离的项目时,后端Java对象和前端须要的JSON字符串之间的转换险些无处不在。这个转换过程,其实就是由“序列化”和“反序列化”以及它们背后的“功臣”——ObjectMapper 和 HttpMessageConverter 来完成的。理解了它们,你就能明白为什么自界说日期格式那套操纵能起作用了。
3.1 序列化 (Serialization) 与 反序列化 (Deserialization)


   (通俗点说:)
  
  3.2 对象映射器 (ObjectMapper) - Jackson库的核心


   (通俗点说:)
  ObjectMapper 就是那个“榨汁机”兼“苹果还原机”。我们可以对这个机器进行各种精致调整(配置),比如告诉它日期这个“成分”要怎么处置惩罚。
  3.3 HTTP消息转换器 (HttpMessageConverter) - Spring MVC的桥梁


   (通俗点说:)
  Controller 和前端之间通报数据(比如JSON),HttpMessageConverter 就是中心的“快递员”。MappingJackson2HttpMessageConverter 是专门负责JSON这种“快递”的“快递员”,它打包拆包时,用的工具就是 ObjectMapper。
  3.4 它们怎样协同工作实现全局日期格式化?



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 qidao123.com技术社区-IT企服评测·应用市场 (https://dis.qidao123.com/) Powered by Discuz! X3.4