Spring bean参考示例

在Spring中,通过在相同或不同的bean配置文件中指定bean引用,bean可以彼此“访问”。

1.不同XML文件中的Bean

如果要在其他XML文件中引用bean,则可以使用' ref '标记,' bean '属性来引用它。

<ref bean="someBean"/>

在此示例中,在Spring-Common.xml声明的bean“ OutputHelper ”可以通过在属性标签中使用“ ref”属性来访问“ Spring-Output.xml ”-“ CsvOutputGenerator ”或“ JsonOutputGenerator ”中的其他bean。 。

文件:Spring-Common.xml

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

	<bean id="OutputHelper" class="com.mkyong.output.OutputHelper">
		<property name="outputGenerator" >
			<ref bean="CsvOutputGenerator"/>
		</property>
	</bean>

</beans>

档案:Spring-Output.xml

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

	<bean id="CsvOutputGenerator" class="com.mkyong.output.impl.CsvOutputGenerator" />
	<bean id="JsonOutputGenerator" class="com.mkyong.output.impl.JsonOutputGenerator" />
		
</beans>

2.相同XML文件中的Bean

如果要在同一XML文件中引用bean,则可以使用' ref '标签,' local '属性来引用它。

<ref local="someBean"/>

在此示例中,在“ Spring-Common.xml Common.xml ”中声明的bean“ OutputHelper ”可以相互访问“ CsvOutputGenerator ”或“ JsonOutputGenerator ”。

文件:Spring-Common.xml

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

	<bean id="OutputHelper" class="com.mkyong.output.OutputHelper">
		<property name="outputGenerator" >
			<ref local="CsvOutputGenerator"/>
		</property>
	</bean>
	
	<bean id="CsvOutputGenerator" class="com.mkyong.output.impl.CsvOutputGenerator" />
	<bean id="JsonOutputGenerator" class="com.mkyong.output.impl.JsonOutputGenerator" />
		
</beans>

结论

实际上,“ ref”标记可以访问相同或不同XML文件中的bean,但是,为了项目可读性,如果引用的是在同一XML文件中声明的bean,则应使用“ local”属性。

翻译自: https://mkyong.com/spring/spring-bean-reference-example/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值