现在的位置: 首页 > 综合 > 正文

解决singleton Bean依赖prototype Bean不能实时更新的问题

2013年10月31日 ⁄ 综合 ⁄ 共 675字 ⁄ 字号 评论关闭

我们在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实例。

抱歉!评论已关闭.