Bootstrap

11、随笔:一个接口多个实现类,如何调用哪个实现类的方法

扯淡

最近在做某“马店”项目中的报表,定时任务(更新报表数据)实现类中使用 @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
;