springboot实现定时器

1.创建springboot项目:

编写定时器,可以看下:springboot实现定时器

编写邮件服务类:可以看下:springboot发送邮件(1):发送简单邮件

2.启动类启用定时:

 

/**
 * 启动类
 */
@SpringBootApplication
//开启定时
@EnableScheduling
public class Application {

   public static void main(String[] args) {
      SpringApplication.run(Application.class, args);
   }

}

3.主要业务代码:

 

/**
 * 定时任务类,实现定时发送邮件
 * Created by ASUS on 2018/5/6
 *
 * @Authod Grey Wolf
 */
//要声明为bean,没有声明启动类启动无法实现定时效果
@Component
public class SchedulerTask {

    @Autowired
    private MailService mailService;

    @Value("${mail.fromMail.addr}")
    private String form;

    private int count=1;

    /**
     * 表示每隔6秒发送一次邮件
     */
    @Scheduled(cron = "*/6 * * * * ?")
    private void proces(){
        String content="springboot整合定时器实现定时邮件发送,这是第"+(count++)+"封邮件";
        mailService.sendMail(form,"简单邮件",content);
        System.out.println("发送定时邮件成功");
    }
}

邮件服务类:

 

/**
 *
 * 邮件服务类
 * Created by ASUS on 2018/5/5
 *
 * @Authod Grey Wolf
 */

@Service("mailService")
public class MailServiceImpl implements MailService {

    @Autowired
    private JavaMailSender mailSender;

    @Value("${mail.fromMail.addr}")
    private String form;
    /**
     * 发送简单邮件
     * @param to 接受者
     * @param subject 主题
     * @param content 内容
     */
    @Override
    public void sendMail(String to, String subject, String content) {
        SimpleMailMessage mailMessage=new SimpleMailMessage();
        mailMessage.setFrom(form);
        mailMessage.setTo(to);
        mailMessage.setSubject(subject);
        mailMessage.setText(content);
        try {
            mailSender.send(mailMessage);
//            System.out.println("发送简单邮件");
        }catch (Exception e){
            e.printStackTrace();
            System.out.println("发送简单邮件失败");
        }
    }



}

4.run启动类application.class,测试效果:

注:有可能邮件会发送失败的原因:邮件发送过于频繁,网络异常等。

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值