瑞吉外卖|猿创征文|瑞吉外卖——移动端_笔记

个人名片:

【瑞吉外卖|猿创征文|瑞吉外卖——移动端_笔记】博主:酒徒?.
专栏:瑞吉外卖
个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来。
本篇励志:你永远不知道自己有多坚强,直到有一天你除了坚强别无选择。
本项目基于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); //false StringUtils.isNotEmpty(""); //false StringUtils.isNotEmpty(" "); //true StringUtils.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属性表示接收者的类型为TO mailMessage.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()方法:先加上指定值再获取当前值。

    推荐阅读