扯淡
最近在做某“马店”项目中的报表,定时任务(更新报表数据)实现类中使用 @Autowired 注入每张报表的逻辑类。随着报表的增多,@Autowired 越来越多。记录一次使用 ApplicationContextAware 优化的过程。
个人学习总结:
链接:【Java基础、springboot、springcloud、docker 等,学习目录】
优化前部分代码:
@Slf4j
@Component
public class ScheduleBox {
@Autowired
private DynamicReporterTask dynamicReporterTask;
@Autowired
private UnitUserWaterTask unitUserWaterTask;
@Autowired
private AcceptPeriodStatisticsTask acceptPeriodStatisticsTask;
/* 动态配置报表 */
//@DistributedLock(lockedKey = "DynamicReporterLock", expireTime = 30)
@Scheduled(cron = "0/10 * * * * ?")
public void dynamicReporter() {
dynamicReporterTask.handle();
}
/* 用户登记周期统计表 */
// @DistributedLock(lockedKey = "AcceptPeriodStatisticsLock", expireTime = 30)
@Scheduled(cron = "0/10 * * * * ?")
public void acceptPeriodStatistics() {
acceptPeriodStatisticsTask.handle