Spring定时器加载两次问题

Spring定时器加载两次问题在写定时任务前先写了个HelloWorld 来检测一下定时器能否正常运行,结果一检查发现 每次都会执行两次, 在网上查 有人说是因为spring和springmvc 加载了两次 也有人说是因为 Tomcat的配置不正确 我检查了下 我是直接起的dubbo 都没有用到 springmvc和 tomcat 所以肯定还有其他的原因.
我的代码

@Component
public class TimingTaskImpl implements TimingTaskApi {
    @Scheduled(cron = "0/5 * * * * ?")//每五秒执行一次
    @Override
    public  void HelloWorld() {
    	Date a = new Date();
    	System.out.println(Thread.currentThread().getName()+"----HelloWorld----"+a);
   }
}

配置文件:
Spring定时器加载两次问题
Spring定时器加载两次问题
后来我检查了很久, 看我的log日志检查spring有没有被初始化两遍 ,看了半天也看不出个所以然.后来我就想能不能用线程锁synchronized 把它给锁住 结果也没有用, 然后我用thread.sleep();方法也是什么用都没有 .
后来我把 @component 给删掉 看看 定时任务是否能够正常执行 ,发现 居然 定时器就执行了一次 .
我猜测 原因应该是 spring根据配置文件的

<task:annotation-driven scheduler="scheduler"/>

把 文件给加载了一次 然后 @component 又把文件给加载了一次 最后导致 定时器加载两次 .

所以解决办法就是 去掉 @component .