静态工厂方法
首先搞清楚一个问题,“面向接口编程”的优势,避免对特定类的依赖,避免对特定接口的实现类的过度耦合。
解决办法,使用一个工厂类,这个工厂类来实例化具体的接口的实现类,这样,主体对象只需要依赖工厂类,具体使用的实现类有变更的话,只是变更工厂类,而主体对象不需要做任何变动。
<bean>
<property name="barInterface">
<ref bean="bar" />
</property>
</bean>
<bean id="bar" class="...StaticInterfaceFactory" factory-method="getInstance" />
非静态工厂方法