Java——后端开发经验总结(持续更新中)
创始人
2024-01-21 03:08:09
0

目录

一、判断实体类

二、图片无法正常显示

三、图片路径存储问题

四、xml注释

五、常用快捷键使用

每日三问

重要配置


一、判断实体类

Assert.notNull: 断言某个值是否为空

  1. 优点:告别了if判断为空。
  2. 缺点:场景比较单一,基本使用在查询数据库后的实体类判断。

二、图片无法正常显示

情境导入:

部署前后端之后,网页中的图片无法正常显示,其他数据都是获取到了的

原因分析:

在排除前端路径没有写错之后,应该是后端的问题

随即发现后端开放的图片地址写错了!

总结:

  • 在部署上线前,记得把这里的文件路径修改好
  • Windows与Linux路径不一样!!!

三、图片路径存储问题

情境导入:

存储图片路径到数据库的时候,mysql报错:data too long for colum....

问题分析:

MySQL数据库中的路径存储类型,我写的是varchar(100)

通过搜索得知:图片路径存储至少要varchar(255)以上

原因分析:

为了节省空间,所以当时给MySQL中的路径存储属性写了varchar(100)

总结:

以后的图片路径存储都设置为varchar(255)以上


四、xml注释

情境导入:

今天一个网友说:要准备删库跑路了!

询问之后,发现就是因为xml注释引发的灾难!

问题分析:

为了方便自己和公司的同事,网友好心在xml写上了如下注释:

原因分析:

  • 注释后面的条件没有换行,把其他条件也给注释了

  • 注释直接把分页的条件给注释掉了,相当于查全表

  • 100多w条数据放在内存里,就直接爆了

总结

  • 使用自动注释:Alt + /

  • xml注释有很多种,编译不会报错(Maven打包也不会报错)!

  • xml开放的注释(专门写SQL的xml)

  • /* 注释 */
    
    -- 注释


五、常用快捷键使用

功能快捷键冲突情况特殊使用环境
注释代码Ctrl+ /当前页面
格式化代码Ctrl+Alt+L与QQ锁屏快捷键冲突当前页面
大小写统一Ctrl+ Shift + U常量的命名
快速查找Ctrl + F当前页面
快速查看类的结构信息Alt+7当前页面

快捷键大全:http://t.csdn.cn/k3Eb3


六、MySQL设置utf8mb4后仍然无法保存emoji表情

 

情境导入:

今天有用户通过输入框,存储了emoji表情,导致SQL数据库报错:java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94'

原因分析:

  • UTF-8编码有可能是两个、三个、四个字节

  • Emoji表情或者某些特殊字符是4个字节

  • 但MySQL的utf8编码最多3个字节,所以数据插不进去

emoji表情:

😀😃😄😁😆😅🤣😂🙂🙃😉😊😇🥰😍🤩😘😗

解决方案:

1、修改数据库的字段(column)字符集为utf8mb4【使用后,还是无法存储,仍然报错!】

 

2、使用hutool工具类进行转换

  • 亲测有效,但是有点麻烦

  • 存储的时候,需要转换为字符型

  • 从数据库中取出的时候,又需要转换为emoji表情

hutool工具类网址:Hutool参考文档Hutool,Java工具集https://hutool.cn/docs/#/extra/emoji/Emoji%E5%B7%A5%E5%85%B7-EmojiUtil


七、图片压缩功能

情境导入:

用户每次上传的图片都是3-5M,比较大

  • 当用户查看上传图片的时候,页面加载图片很慢,用户体验不好 🤔

  • 图片过大,也会占用服务器的存储空间,而且查看大图片,还会占用服务器带宽

解决方案:

1、前端处理 (简单快捷 ✌️

  • 用户上传图片后,前端直接压缩图片即可

  • 压缩图片可直接利用组件完成

2、后端处理(不推荐)

  • Thumbnailator工具类实现

  • 优点:可指定压缩大小

  • 缺点:费时,需要异步操作,占用带宽

 

总结:

  • 本人主要学后端,就首选了后端处理
  • 结果发现前端处理更简单,白折腾了大半天💦
  • 在此进行记录!ℹ️ℹ️ℹ️

全栈的理解

🏵️ 全栈是个很难界定的概念 :

Java全栈?还是应用开发全栈?

  • 所以全栈作为方向和学习路线是很难确定学习路线的
  • 大厂招聘也不会写要招全栈,都是合作完成

所以全栈是一种能力,对于一个合格工程师最重要的能力就是:

  • 快速学习新知识并且运用的能力
  • 除此之外所有的经验和积累,都是为了能让我们在拿到需求,遇到问题的时候,知道该用什么技术去实现,或者该学习什么技术才能实现。

每日三问

  1. 学后有思考吗?

  2. 有不看文档写一遍的习惯吗?

  3. 有每天写日报总结吗?

重要配置

序号配置信息变量名称
1图片加载路径imgUrl
2请求路径baseUrl
3文件上传路径uploadUrl
4AppIDappid
5秘钥pwd

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...