SpringBoot项目(验证码整合)——springboot整合email & springboot整合阿里云短信服务_springboot email(1)

最后

光给面试题不给答案不是我的风格。这里面的面试题也只是凤毛麟角,还有答案的话会极大的增加文章的篇幅,减少文章的可读性

Java面试宝典2021版

最常见Java面试题解析(2021最新版)

2021企业Java面试题精选

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

        <artifactId>spring-boot-starter-mail</artifactId>
    </dependency>

### application.yml配置


![在这里插入图片描述](https://img-blog.csdnimg.cn/87e5c22c5a1743e39c500317a561d473.png)


![在这里插入图片描述](https://img-blog.csdnimg.cn/178ab6f0551a4d5a9393db9f5d402aa9.png)


### email业务类



> 
> 接口
> 
> 
> 



package com.tianju.auth.service;

public interface IEmailService {
/**
* 发送右键
* @param to 邮件接收方
* @param subject 邮件主题
* @param content 邮件内容
*/
void sendEmail(String to,String subject,String content);
}



> 
> 实现
> 
> 
> 



package com.tianju.auth.service.impl;

import com.tianju.auth.service.IEmailService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.Date;

@Service
@Slf4j
public class EmailServiceImpl implements IEmailService {

@Value("${spring.mail.username}")
private String from;

@Resource
private JavaMailSender javaMailSender;

@Override
public void sendEmail(String to, String subject, String content) {

    SimpleMailMessage mailMessage = new SimpleMailMessage();
    mailMessage.setSubject(subject);
    mailMessage.setTo(to);
    mailMessage.setText(content);
    mailMessage.setSentDate(new Date());
    mailMessage.setFrom(from);

    javaMailSender.send(mailMessage);

    log.debug("在{}发送一条邮件{}给{}",mailMessage.getSentDate(),mailMessage.getText(),mailMessage.getTo());

}

}


### 测试类



package com.tianju.auth.service.impl;

import com.tianju.auth.service.IEmailService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import javax.xml.ws.soap.Addressing;

import java.util.UUID;

import static org.junit.Assert.*;

@SpringBootTest
@RunWith(SpringJUnit4ClassRunner.class)
public class EmailServiceImplTest {

@Autowired
private IEmailService emailService;

@Test
public void sendEmail() {
    emailService.sendEmail("xxxx@qq.com", "我是老王,我在测试代码", UUID.randomUUID().toString());
}

}


## springboot整合阿里云短信服务


### 申请阿里云短信服务


[短信服务 (aliyun.com)]( )


![在这里插入图片描述](https://img-blog.csdnimg.cn/5e595034c3cf4d339d1e4179d9bcce90.png)


### 测试短信服务


![在这里插入图片描述](https://img-blog.csdnimg.cn/45da1c7a1ca9406ba7c685686dd585e5.png)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/7ad0a1ff6e2842d6a2bdb551f57ac952.png)


![在这里插入图片描述](https://img-blog.csdnimg.cn/7d3c42a28bdd4216baf2243a7c759b7d.png)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/7b7f69719e09419798f84ca86e387ff0.png)


![在这里插入图片描述](https://img-blog.csdnimg.cn/7cd77ee2b55c4c36b15a79277379ec0f.png)



> 
> 进行测试
> 
> 
> 


![在这里插入图片描述](https://img-blog.csdnimg.cn/298f55205ef54fa0bfaee0d20f99be58.png)


![在这里插入图片描述](https://img-blog.csdnimg.cn/b836ebc4df6a40708299ad77fb832531.png)



> 
> 调用结果
> 
> 
> 


![在这里插入图片描述](https://img-blog.csdnimg.cn/c3ec7763f7cc44bba9d954c5c5c7cc9a.png)



> 
> 成功接收短信
> 
> 
> 


![在这里插入图片描述](https://img-blog.csdnimg.cn/15567de2ba0c46918a46143ff3c1a3f1.png)


### 获取阿里云的accessKey


![在这里插入图片描述](https://img-blog.csdnimg.cn/f4750b507d624791aabf538a0e3da52b.png)


![在这里插入图片描述](https://img-blog.csdnimg.cn/adf1be4e30d64f6eb8557a8c619fa5d4.png)


### springboot整合阿里云短信


#### 导包



    <!-- 阿里云短信验证码相关包-->
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-core</artifactId>
        <version>4.5.3</version>
    </dependency>

#### 工具类



package com.tianju.auth.util;

import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
import net.minidev.json.JSONObject;

import java.util.HashMap;
import java.util.Map;
import java.util.Random;

本次面试答案,以及收集到的大厂必问面试题分享:

字节跳动超高难度三面java程序员面经,大厂的面试都这么变态吗?

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

面试题分享:

[外链图片转存中…(img-G7bzmBOD-1715468969064)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 11
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Idea上创建Spring Boot项目整合MySQL,您可以按照以下步骤进行操作: 1. 打开Idea并选择"File" -> "New" -> "Project"。 2. 在弹出的对话框中,选择"Spring Initializr"作为项目模板,并点击"Next"。 3. 在项目设置页面,填写您的项目信息,包括"Group"(组织唯一标识符)和"Artifact"(项目名称)。 4. 在"Dependencies"列表中搜索并添加"Spring Web"和"Spring Data JPA"依赖。您可以直接在搜索框中输入关键字进行搜索。 5. 点击"Next"并选择项目的保存路径。 6. 在项目创建完成后,打开项目的"pom.xml"文件,并将MySQL的依赖添加到其中。您可以使用以下依赖配置: ```xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.26</version> </dependency> ``` 7. 在项目中创建一个配置文件(例如application.properties或application.yml),并配置MySQL数据库连接信息。您可以使用以下配置作为参考: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/sqglxt?useSSL=false&amp;useUnicode=true&amp;characterEncoding=utf8&amp;serverTimezone=UTC spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver ``` 8. 创建一个实体类,例如UserDAO,并使用JPA的注解配置实体与数据库表的映射关系。您可以参考以下示例: ```java @Entity @Table(name = "user") public class UserDAO { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "name") private String username; private Integer age; private String email; // 省略构造函数、getter和setter方法 } ``` 9. 创建一个数据访问接口,例如UserRepository,用于定义与UserDAO实体相关的数据库操作方法。您可以使用Spring Data JPA提供的默认方法,或者自定义查询方法。 10. 在需要使用数据库操作的地方,注入UserRepository,并调用相应的方法进行数据库操作。 请注意,以上步骤是整合MySQL的基本步骤,具体的实现方式可能会根据您的项目需求和框架版本而有所不同。您可以根据自己的实际情况进行调整和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值