作为菜鸟程序员,今天阅读公司的代码框架遇到一个很有意思的代码封装,对于我来讲非常有学习意义,所以在此总结一下。
项目中经常会遇到要向代码中添加定时任务(类似消费线程),通常这样的定时任务都是临时加入。除此外,项目中的任务都很相似,所以在设计的时候都会为其添加一个超类(或者接口),因此所有的定时任务都要继承这个超类。这些任务通常数量不少,十几个甚至二十几个,相当于要管理至少十几个实例,非常繁琐。因此我们如果能知道Spring中的这个方法getBeansOfType,并合理的使用它,会使我们的操作变得非常舒服。这里我就不直接提供公司的代码,而是用新的例子代替,简要的说明其思想。
public interface Car{
public void dispatch();
}
@Component
public class SedanCar implements Car{
@override
public void dispatch(){
System.out.println("Sedan car coming!");
}
}
@Component
public class SportsCar implements Car{
@override
public void sayHello(){
System.out.println("Sports car coming!");
}
}
上述代码很简单,一个接口Car,SportsCar 和SedanCar分别继承Car接口,哪种车被调度到了,都会打印各自的语句,即调用dispatch方法。@