TimerTask之spring静态注入的测试
是用jdk自带的TimerTask做简单任务处理感觉蛮简单;
遇到spring无法注入的情况,具体表现:
@Resource annotation is not supported on static fields
1.第一次启动的时候对应的dao是可以注入进来的
2.中间执行run方法的时候dao则为NULL
解决 再引入一个静态初始化的时候转换即可:
@Resource
private BookDao bookDao;
private static BookDao bkDao;
public void start() {
bkDao= this.bookDao;
if (!start) {
VisitStatServiceUtil daemon = new VisitStatServiceUtil();
click_timer = new Timer("VisitStatServiceUtil", true);
click_timer.schedule(daemon, INTERVAL, INTERVAL);// 运行间隔1分钟
start = true;
}
log.info("VisitStatService started.");
}
注:在用xml配置的时候 可以通过get set 启用生效;(在项目去 DAO和Service的xml配置文件引发的一系列问题,逐个击破,达到切换到注解模式下)
您可能感兴趣的文章:
TimerTask之spring静态注入的测试
找不到 org.junit.jupiter.api.Test报错
Spring Boot用JavaMailSender发送邮件方法
Spring 学习笔记--强烈推荐
spring secruity 数据库方式配置用户登录
php怎么做页面静态化
golang微服务框架对比_微服务全流程各组件详细对比分析
深入理解[代理模式]原理与技术
php静态类的罪与罚(原理详解与实例分析)
php中对static关键字的理解