[阅读: 636] 2008-05-21 23:34:43
在没有使用泛型之前,典型的工厂Spring提供对象实例化和初始化功能,对象必须有不带参数的构造方法,可以有一些setter方法,可以有一个init方法(名字不限,可指定)。
Spring在完成对象实例化之后,通过反射来调用setter方法和init方法。
在有了泛型和annotation之后,Spring基本上还是这样做的,只是不需要强制类型转换了。
Java的泛型可以指定参数T是派生于某个类C,这样在方法中可以对T调用C的方法。对于龙之问同学的问题来说,也许可以利用这一点。如果可以确定ClientBase<Service1>和ClientBase<Service2>有共同的父类,那就可以调用父类的方法,如State()和Connect()。但是我记不清这两个类是否有共同父类了,如果有共同父类,父类是谁?
只记得有一点是肯定的,虽然A是B的父类,但List<A>和List<B>是没有父子关系的,它们是兄弟。但它们是否有共同的父类List?没实际用过这个特征,就是体会不深。