java近期工作总结

近期工作中的一些总结

(1)三层模板和流程
我发现很多东西其实吧,三层就是一个模板和流程;
正向推,从控制层开始,反向从内个sql开始写,大部分应该就是从xml文件开始的,然后写到控制层,毕竟这中间都是方法的调用。
在这里插入图片描述
假如先看了前端的接口文档吧,比如要返回什么鬼东西先看一眼;
然后咱们就是说去控制层开始用注解吧;@restcontroller,这种集合性注解;
然后@requestmapping写好请求路径,然后设置好类;继承谁,这个可以自己写个大类,就是有所有的基础请求的这种,这个我进阶的时候可以多看看;
1.写好对前端的接口定义好路径:然后里边写好要用的方法,看看要返回什么,比如前端要一个返回用户列表的数据吧;我们的起名肯定就是getUser()类似这种
2.第二步,我们现在去服务层实现,我们去服务层写个接口就和这个方法名字一样,然后我们里面就写好抽象方法我们再继续,去impl实现层里面实现;
3.实现层我们用到这个方法重写,里面就是返回这个实体类的所有数据,写个return就行了,这个实体类放到集合里面返回,或者直接返回这个实体类的对象?
4.我们去定义实体类,我们这里肯定是user类了,里面id什么的弄好,然后mapper里面写接口,xml里面写对他的sql,用mybatis去映射;
5.然后我们把sql写对,执行一下,去内个数据库里面查一下,能查出来就代表差不多了,其实最重要的就底层逻辑;
6.去前端检验index.ts接口路径是否正确;然后前端的ts里面的字段是否都对都包含。
7.检查完毕之后我们就是去dom里面改,然后把值传对,请求写对;

前端请求 → Controller → Service接口 → Service实现 → Mapper接口 → XML映射文件 → 数据库

返回数据 ←───────────────────────────────────

后端请求 → 前端接口→ 前端ts对应 → 前端vue页面(dom,点击事件,事件逻辑绑定)-> 渲染

其实最重要的就是咱们sql要写好,一个sql就能把查出来的很多东西送进vo类里面;理解的太少了;最好的思路就是从sql到mapper到service

(2)接口复用性
就是一个接口他可以用很多很多很多次;非常多次,比如你做了分页查询吧,下拉框里面根据特殊值查询吧,这种都可以用百万次,而且尤其是用内个id查询数据,你不管什么都是用id,保存其实也是,只是前端给她翻译成字段了,你看着以为是名字,所以要多打断点,多看返回,多理解,然后多看代码;更别说,那种增删改查,你写好一个,别的页面照抄就完了, 主要是逻辑性要很强;根据业务需求来;需求真的多到爆!然后就是,写好了还一会得变,不停的要改;所以根本就是,在写一个初始接口的时候就得写好,做一个最大的功能,其实就在于怎么设计了,如果你底层设计的不好,后面业务开发搭建起来全是bug;

(3)git的使用
就是这个东西吧,他真的就是,很复杂,很烦,很麻烦,你上传了个东西,别人改一样的地方,就冲突,先提交到本地再推送,就容易忘,最好写一个接口测试了没问题就提交,不然多了你根本看不过来,多提交几次,备注打好,每次就一小部分就行了;这样也利于维护,最好遵守规则,写看的懂的代码,不然,更乱,乱种乱;

(4)拿到一个业务先分析,一定要分析好
分析业务需求很重要,比如,现在要加载一个下拉框了吧,就是需求是,你这个下拉框里面有别的表的数据,然后呢,前端用户点击,点击之后我获取到用户的选择和id吧,然后拿到这个值以后,我去根据这个值去查询我对应的信息;这怎么办?先说我的思想:
1.我们需要先对应表建立vo,和实体类,我先把东西查到,查到了我才能返回对吧,返回返回成什么格式呢?就比如这个下拉列表里面要展示的是资产列表,那我就得有个资产表的实体类,然后我去对应建立,然后我给她@data,构造函数和tostring吧,然后全部设置好。那是不是就是封装成这个vo类返回吗;然后返回给mapper给服务层,给控制层,层层返回,然后;就前端拿到了,
2.现在是不是该去xml文件里面写sql了,就是Mybatis,的东西然后做好映射;

(5)解决问题的能力和归类
遇到问题bug不要慌,一定要有特别足够的耐心,然后从源头找,或者报错丢给ai,ai分析完代码返回,找清楚是什么问题谁的问题,效率会更高,再一个就是要多自己手写,自己手写的多了,才能加倍理解,时间紧迫的现在,加上各种

(6)多交流讨论
一定一定要多交流讨论问题,这个东西他原型也有可能会出大问题出错;出很多很多的毛病,遇到很多不清楚的地方就改,然后就是做好一个接口,没问题就提交

(7)总结,然后手敲
一定一定要多交流讨论问题,这个东西他原型也有可能会出大问题出错;出很多很多的毛病,遇到很多不清楚的地方就改,然后就是做好一个接口,没问题就提交,多多熟悉

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/87259.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/87259.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue中的torefs

在 Vue 中, toRefs(state) 的返回值是一个 新对象,其中每个属性都是对应 state 中原始属性的 ref 对象。具体来说: 返回值的结构与特性 1. 对象结构 - 若输入 state 为 { a: 1, b: text } ,则 toRefs(state) 返回&a…

可编程逻辑器件的演进与对比分析

可编程逻辑器件的演进与对比分析 目录 离散逻辑芯片与早期PLD的限制CPLD的诞生与结构特点FPGA的架构创新CPLD与FPGA的核心差异总结 1. 离散逻辑芯片与早期PLD的限制 在还没有发明出可编程逻辑器件(PLD: Programmable Logic Device)之前,设…

Ubuntu机器开启root用户远程登录

一般正常情况是可以直接使用非root用户登录,但是由于权限问题,所以部分内容需要远程ROOT用户登录,具体如下: 1️⃣配置root用户密码 一般情况下系统中root不能直接登录,所以也没有保存root密码,现在需要登…

rockchip android14 设置不休眠

rockchip android14 设置不休眠 文章目录 rockchip android14 设置不休眠前言一、代码路径二、代码修改前言 在rk 的android14代码中设置开机后永不休眠 一、代码路径 device/rockchip/common/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml二、…

什么是数据孤岛?如何解决数据孤岛问题?

目录 一、数据孤岛的定义与表现 1. 数据孤岛的定义 2. 数据孤岛的表现形式 二、数据孤岛产生的原因 1. 技术层面 2. 组织管理层面 3. 业务流程层面 三、数据孤岛带来的危害 1. 对企业决策的影响 2. 对业务运营效率的影响 3. 对数据治理和安全的影响 四、解决数据孤…

自定义Cereal XML输出容器节点

自定义Cereal XML输出容器节点 CEREAL_SERIALIZE_INTRUSIVE 在 1.优化Cereal宏 一行声明序列化函数 QString、QVector、QList、QMap序列化在2.在Cereal中支持Qt容器序列化 静态成员函数type_node检测在 3.利用SFINAE检测成员函数 🚀 告别value0:自定义Ce…

Spark 写入hive表解析

FileOutputCommitter中提交mapreduce.fileoutputcommitter.algorithm.version有v1和v2两个版本。 v1版本Spark写入文件的流程: 1.当task完成的时候,会将task的结果文件先写入到临时目录下面。 2.所有的task完成后,将所有的结果文件写入到结…

Linux云计算基础篇(5)

一、sudo是什么? 定义:sudo(SuperUserDO)是一个Linux/Unix系统命令,允许被授权的普通用户以另一个用户(通常是超级用户root)的身份执行命令。 核心目的: 1.最小权限原则:避免让用户长期拥有ro…

Postgresql通过pgpool进行高可用部署主从,灾备(单机版)

1、bitnami/postgresql-repmgr:15 (镜像名) Bitnami 的 PostgreSQL-Repmgr 镜像是一个预配置的 Docker 镜像,集成了 PostgreSQL 数据库和 repmgr(Replication Manager)工具,用于快速搭建高可用&#xff08…

Flink-1.19.0源码详解-番外补充3-StreamGraph图

1.StreamGraph图: StreamGraph是Flink流处理作业的第一个计算调度流图,它是从用户编写的 DataStream API程序转换而来的逻辑图。StreamGraph由StreamNode与StreamEdge组成,StreamNode为记录数据处理的节点,StreamEdge为连接两个StreamNode的边…

linux系统---Nginx反向代理与缓存功能

目录 正向代理和反向代理 正向代理的作用 反向代理可实现的功能 反向代理客户端ip透传 1.初始访问192.168.235.139 结果 2.编辑代理服务器的配置文件 3、重载nginx服务 4、访问代理服务器 实现反向代理负载均衡 1.先启用已用另一台服务端 2.使用192.168.235.140 …

U+平台配置免密登录、安装Hadoop配置集群、Spark配置

文章目录 1、免密登录2、安装hadoop3、Spark配置 具体详细报告见资源部分,全部实验内容已经上传,如有需要请自行下载。 1、免密登录 使用的配置命令: cd ~/.ssh/ssh-keygen -t rsaEnter键回车y回车回车出现如上所示 cat ./id_rsa.pub >…

GitHub vs GitLab 全面对比报告(2025版)

从技术架构到金融估值,深度解析两大代码托管平台的差异化竞争策略 一、技术架构对比 维度GitHub (Microsoft旗下)GitLab (独立上市公司)关键差异核心架构- 分布式Git仓库 Issues/Projects- 全栈DevSecOps平台GitLab集成CI/CD、安全、监控部署模式- SaaS为主 - Git…

Python 数据分析与可视化 Day 14 - 建模复盘 + 多模型评估对比(逻辑回归 vs 决策树)

✅ 今日目标 回顾整个本周数据分析 & 建模流程学会训练第二种模型:决策树(Decision Tree)掌握多模型对比评估的方法与实践输出综合对比报告:准确率、精确率、召回率、F1 等指标为后续模型调优与扩展打下基础 🪜 一…

本周大模型新动向:KV缓存混合精度量化、个体时空行为生成、个性化问答

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 01 KVmix: Gradient-Based Layer Importance-Aware Mixed-Precision Quantization for KV Cache 大型语言模型(LLMs)在推理过程中,键值(KV)缓存的高内…

在 Spring Boot 中使用 WebMvcConfigurer

WebMvcConfigurer 是 Spring MVC 提供的一个扩展接口,用于配置 Spring MVC 的各种功能。在 Spring Boot 应用中,通过实现 WebMvcConfigurer 接口,可以定制和扩展默认的 Spring MVC 配置。以下是对 WebMvcConfigurer 的详细解析及其常见用法。…

w-笔记:uni-app的H5平台和非H5平台的拍照识别功能:

uni-app的H5平台和非H5平台的拍照识别功能&#xff1a; <template><view class"humanVehicleBinding"><view v-if"warn" class"shadow"></view><view class"header"><uni-nav-bar left-icon"l…

TCP 半连接队列和全连接队列(结合 Linux 2.6.32 内核源码分析)

文章目录 一、什么是 TCP 半连接队列和全连接队列二、TCP 全连接队列1、如何查看进程的 TCP 全连接队列大小&#xff1f;注意 2、TCP 全连接队列溢出问题注意 3、TCP 全连接队列最大长度 三、TCP 半连接队列1、TCP 半连接队列溢出问题2、TCP 半连接队列最大长度3、引申问题 一、…

linux下fabric环境搭建

参考教程&#xff1a; https://devpress.csdn.net/cloudnative/66d58e702045de334a569db3.html?dp_tokeneyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MjA2MzY4NywiZXhwIjoxNzQwMzY4MDc0LCJpYXQiOjE3Mzk3NjMyNzQsInVzZXJuYW1lIjoiaHVhbmd0dXBpIn0.oh8e4F6Sw_A4SV2ODQ5W0pYK0…

Redis Pipeline介绍:提高操作Redis数据库的执行效率

Redis Pipeline是一种用于提高Redis执行效率的技术&#xff0c;通过减少客户端与服务器之间的通信开销&#xff0c;显著提升批量操作的性能。本文将详细介绍Redis Pipeline的概念、使用场景、实现方式及其优势。 一、Redis Pipeline的概念 Redis Pipeline是一种批处理机制&am…