我们在singleton bean里新增一个抽象方法,该方法的返回值类型时所依赖的Bean-----注意该方法是一个抽象方法,程序员没有为该方法提供实现,该方法的实现是由Spring完成。
seingleton Bean的代码:
Chinese.java
public abstract class Chinese implements Person
{
public Chinese()
{
System.out.pritln("Spring实例化主调bean:Chinese实例...");
}
//定义一个抽象方法,该方法将由Spring负责实现
publc abstract getAxe();
public void useAxe()
{
System.out.println("正在使用"+getAxe()+"看菜!");
}
}
为了让Spring知道如何实现该方法,我们需要在配置文件中使用<lookup-method.../>元素指定如下两个属性:
name:指定需要让Spring实现的方法
bean:指定Spring实现该方法后的返回值。
下面是配置文件:
<bean id="chinese" class="com.feng.service.impl.Chinese">
<!--指定getAxe方法返回steelAxe
每次调用getAxe方法将获取新的steelAxe对象-->
<look-method name="getAxe" bean="steelAxe"/>
-->
</bean>
上面的代码指定Spring将负责实现getAxe()方法,该方法的返回值是容器中的steelAxe Bean实例。