个人名片:

博主:酒徒ᝰ.
专栏:瑞吉外卖
个人简介沉醉在酒中,借着一股酒劲,去拼搏一个未来。
本篇励志你永远不知道自己有多坚强,直到有一天你除了坚强别无选择。

本项目基于B站黑马程序员Java项目实战《瑞吉外卖》,轻松掌握springboot + mybatis plus开发核心技术的真java实战项目。

视频链接【黑马程序员Java项目实战《瑞吉外卖》,轻松掌握springboot + mybatis
plus开发核心技术的真java实战项目】 https://www.bilibili.com/video/BV13a411q753?
点击观看

目录

  • 一、手机验证登录与退出笔记
    • 1. 判断是否为空?
  • 二、邮箱验证码登录笔记
  • 三、地址管理笔记
  • 四、订单明细笔记

一、手机验证登录与退出笔记

1. 判断是否为空?

  1. StringUtils.isNotEmpty:不为空字符串,
StringUtils.isNotEmpty(null); //falseStringUtils.isNotEmpty("");//falseStringUtils.isNotEmpty(" "); //trueStringUtils.isNotEmpty("abc"); //true
  1. !=
    一旦非空就会报空指针异常。所有常用来数据库的查询操作,以避免空指针异常。

二、邮箱验证码登录笔记

  1. Authenticator

抽象类,实现getPasswordAuthentication方法,主要用来获取邮箱账户密码,用于验证登录。
加入自己的邮箱与授权码

Authenticator authenticator = new 工具类("邮箱(自己的,由此邮箱发送文件)", "授权码");
  1. 邮箱格式
Properties properties = new Properties();//邮箱smpt协议 ,QQ邮箱properties.put("mail.smtp.host", "smtp.qq.com");//端口号properties.put("mail.smtp.port", "25");//用户权限   认证properties.put("mail.smtp.auth", "true");
  1. MimeMessage

Message类的子类。
用户填写邮件的一些信息,例如:发送者,接受者,主题,内容,附件等。

MimeMessage mailMessage = new MimeMessage(sendMailSession);mailMessage.setFrom(new InternetAddress(""));//发送邮件的地址/就填你的qq邮箱// Message.RecipientType.TO属性表示接收者的类型为TOmailMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(to));//设置utf-8类型mailMessage.setSubject(subject, "UTF-8");//设置日期mailMessage.setSentDate(new Date());mailMessage.setContent(mainPart);
  1. Session.getDefaultInstance

Session:更具Properties属性,和用户验证信息创建MimeMessage。

javax.mail.Session sendMailSession = javax.mail.Session.getDefaultInstance(properties, authenticator);
  1. Multipart

容器类,用于装封装了邮件正文内容和附件的BodyPart。

  1. BodyPart

封装邮件正文和附件集编写附件名称,如果邮件中存在附件,要先写附件在写正文。否则会覆盖。

BodyPart html = new MimeBodyPart();html.setContent(content.trim(), "text/html; charset=utf-8");mainPart.addBodyPart(html);
  1. Transport
Transport.send(mailMessage);

邮箱即可以被发送,也可以被接收。JavaMail是由Transport完成邮箱的发送。
Transport包含send方法,用来完成邮箱ed发送操作。括号内为MailMessage类型数据。

三、地址管理笔记

  1. @RequestBody

没有输入值,也可以获取前端信息。
点击一个按钮,按钮所代表的id也可以传输给后台。

四、订单明细笔记

  1. AtomicInteger

原子操作类
高并发环境下的高效程序处理。
对int类型的封装。
.addAndGet()方法:先加上指定值再获取当前值。