spring boot 使用定时器 Scheduled

1、spring boot默认集成了定时器,spring quartz

      步骤:

              启动类加上注解,开启定时注解@EnableScheduling

             在定时器类的方法加上注解@Scheduled()

                   参数 有:

                       @Scheduled(initialDelay = 1000*10,fixedDelay = 1000)      initialDelay :系统启动后,10秒后开始运行此方法,fixedDelay:表示此方法运行结束后,过1秒再次运行此方法

                      @Scheduled(cron = "0 30 2,13,18 * * ? ")                        这个是使用spring quartz的表示来表示此方法运行的时刻

 

以上就表示可以运行了定时器了

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的 spring boot 定时器库存预警的代码示例: 首先,在 pom.xml 中添加依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> ``` 然后,在 application.properties 中配置邮件发送相关的属性: ``` spring.mail.host=smtp.example.com spring.mail.port=587 spring.mail.username=yourusername spring.mail.password=yourpassword spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true spring.mail.properties.mail.smtp.starttls.required=true ``` 接下来,创建一个定时器类 InventoryWarningTask,并添加 @Component 注解,表示这是一个组件类: ```java @Component public class InventoryWarningTask { @Autowired private ProductService productService; @Autowired private JavaMailSender javaMailSender; @Scheduled(cron = "${inventory.warning.cron}") public void execute() { List<Product> products = productService.getProducts(); for (Product product : products) { if (product.getInventory() < product.getWarningInventory()) { String subject = "库存预警:" + product.getName(); String text = "商品名称:" + product.getName() + "\n" + "当前库存:" + product.getInventory() + "\n" + "警戒库存:" + product.getWarningInventory(); sendEmail(subject, text); } } } private void sendEmail(String subject, String text) { SimpleMailMessage message = new SimpleMailMessage(); message.setFrom("[email protected]"); message.setTo("[email protected]"); message.setSubject(subject); message.setText(text); javaMailSender.send(message); } } ``` 在定时器类中,我们使用 @Autowired 注解将 ProductService 和 JavaMailSender 注入进来。在 execute() 方法中,我们获取所有商品,检查库存是否低于警戒库存。如果是,则发送邮件给管理员。 定时器的执行时间通过 @Scheduled 注解的 cron 属性指定,这里使用了 ${inventory.warning.cron} 属性占位符,需要在 application.properties 中定义该属性的值,例如: ``` inventory.warning.cron=0 0 12 * * ? ``` 表示每天中午 12 点执行一次。 以上就是一个简单的 spring boot 定时器库存预警的代码示例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值