当前位置: 首页 > news >正文

学习进度4/13

无法解析符号'Resource':导包错误,把 javax.annotation.Resource 换成 Spring 的注解
定时任务没开启:启动类需要加 @EnableScheduling
步骤 1:修改 TaskUtil.java(直接复制完整代码)
java
运行
package com.demo.util;
import com.demo.entity.SysUser;
import com.demo.mapper.SysUserMapper;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.beans.factory.annotation.Autowired;
import java.time.Duration;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.List;

@Component
public class TaskUtil {
// 改用Spring自带@Autowired注入,解决Resource报错
@Autowired
private SysUserMapper sysUserMapper;

@Scheduled(cron = "0 0 1 * * ?")
public void clearInvalidUser() {List<SysUser> userList = sysUserMapper.listNoLogin30Days();LocalDateTime now = LocalDateTime.now();for(SysUser user : userList) {LocalDateTime lastLogin = user.getLastLoginTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();long days = Duration.between(lastLogin, now).toDays();if(days >= 33) {user.setStatus(0);sysUserMapper.updateById(user);}}
}

}
步骤 2:修改启动类 DemoApplication.java,开启定时任务
java
运行
package com.demo;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;

@SpringBootApplication
@MapperScan("com.demo.mapper") // 扫描Mapper接口
@EnableScheduling // 开启定时任务,必须加
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}

http://www.jsqmd.com/news/798343/

相关文章:

  • DHCP 服务器总结:概念、原理与实验详解
  • 如何用League Akari一站式提升你的英雄联盟游戏体验:免费终极指南
  • 函数式编程实现 - 学员管理系统 - 06
  • 如何在5分钟内免费绕过iPhone激活锁:applera1n完整使用指南
  • 别再死记硬背公式了!用Python的NumPy和SciPy实战理解广义逆矩阵(附代码)
  • SAP财务顾问必看:蓝冲、红冲与反记账的实战配置详解(附后台路径)
  • 学习进度4/12
  • 成都装修公司推荐(2026最新)|口碑好、施工稳、售后快 - 成都人评鉴
  • 学习进度4/11
  • Unlock Music音乐解锁终极教程:5分钟掌握加密音频解密技巧
  • 漳州全屋定制服务商
  • Python多线程编程核心知识点整理
  • 5分钟掌握暗黑2存档修改秘籍:彻底告别重复刷怪烦恼
  • C语言完美演绎9-29
  • 机器人仿真新手别慌!保姆级CoppeliaSim(V-REP)中文界面与核心概念速览
  • Speechless:你的微博数字记忆永久保存方案,告别内容丢失焦虑
  • 计算机毕业设计:Python智慧医疗数据可视化与疾病预测系统 Flask框架 随机森林 机器学习 疾病数据 智慧医疗 深度学习(建议收藏)✅
  • 我从嫌弃鸡肋到直呼真香,2026华为录音转文字工具真后悔没早用
  • 终极macOS菜单栏整理指南:用Ice打造清爽高效桌面空间
  • MSD分析-基于MDAnalysis
  • Redis Hash 数据类型:详解命令与实战场景
  • 学习进度4/14
  • YOLOv11 改进 - 注意力机制 ContextAggregation上下文聚合模块:多尺度上下文信息融合机制,增强小目标特征判别力
  • 别再死记硬背了!用Wireshark抓包实战,带你一步步拆解5G手机的注册与PDU会话建立流程
  • YOLOv11 改进 - 注意力机制 CoordAttention坐标注意力:嵌入位置信息破解通道注意力局限,增强目标空间感知
  • 在树莓派上部署YoloV4-Tiny:用PyTorch Mobile实现边缘端实时目标检测
  • 别再只怪芯片了!拆解一个智能家居产品,看它的EMC静电防护设计到底哪里出了问题
  • 跨越平台鸿沟:ACM LaTeX模板的实战部署与字体兼容性攻坚
  • Windows 10 任务管理器打开后自动退出(点详细信息崩溃)完整排查记录
  • 知网AI率30%50%80%哪个最难降?比话降AI知网专精方案!