我们在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>