Spring Boot如何整合定时任务(邮件发送)呢?
下文笔者讲述SpringBoot整合定时任务的方法分享,如下所示
SpringBoot整合定时任务的实现思路:
1.借助@EnableScheduling注解开启定时任务配置类
2.编写相应的业务代码,即可实现定时任务的效果
例:Springboot开启定时任务
//1.引入相关依赖
<!--定时任务依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--email依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2、编写application.properties配置文件
spring.mail.username=admin@java265.com
spring.mail.password=XXXXXX
spring.mail.host=smtp.google.com
# 开启加密验证
spring.mail.properties.mail.smtp.ssl.enable=true
3、创建定时任务配置类
@Configuration
@EnableScheduling
public class ScheduleConfiguration {
}
4、编写测试类
@Component
public class TestClass {
private Logger logger = LoggerFactory.getLogger(getClass());
private final AtomicInteger counts = new AtomicInteger();
@Autowired
JavaMailSenderImpl mailSender;
@Scheduled(fixedRate = 2000)
public void execute() throws MessagingException {
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setSubject("------邮件测试------");
helper.setText("~~~我是邮件正文哦!~~~");
helper.setTo("222@java265.com");
helper.setFrom("888@java265.com");
mailSender.send(helper.getMimeMessage());
logger.info("[execute][定时第 ({}) 次执行]", counts.incrementAndGet());
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


