Spring bean reference example
2015-08-21 14:25
381 查看
In Spring, beans can “access” to each other by specify the bean references in the same or different bean configuration file.
In this example, the bean “
File : Spring-Common.xml
File : Spring-Output.xml
In this example, the bean “
File : Spring-Common.xml
1. Bean in different XML files
If you are referring to a bean in different XML file, you can reference it with a ‘ref‘ tag, ‘
bean‘ attribute.
<ref bean="someBean"/>
In this example, the bean “
OutputHelper” declared in ‘
Spring-Common.xml‘ can access to other beans in ‘
Spring-Output.xml‘ – “
CsvOutputGenerator” or “
JsonOutputGenerator“, by using a ‘
ref’ attribute in
propertytag.
File : 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>
File : 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. Bean in same XML file
If you are referring to a bean in same XML file, you can reference it with ‘ref‘ tag, ‘
local‘ attribute.
<ref local="someBean"/>
In this example, the bean “
OutputHelper” declared in ‘
Spring-Common.xml‘ can access to each other “
CsvOutputGenerator” or “
JsonOutputGenerator“.
File : 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>
Conclusion
Actually, the ‘ref’ tag can access to a bean either in same or different XML files, however, for the project readability, you should use the ‘
local’ attribute if you reference to a bean which declared in the same XML file.
相关文章推荐
- 一个jar包里的网站
- 一个jar包里的网站之文件上传
- 一个jar包里的网站之返回对媒体类型
- spring+html5实现安全传输随机数字密码键盘
- Spring中属性注入详解
- struts2 spring整合fieldError问题
- spring的jdbctemplate的crud的基类dao
- 读取spring配置文件的方法(spring读取资源文件)
- java实现简单美女拼图游戏
- java基本教程之线程休眠 java多线程教程
- JSP开发中在spring mvc项目中实现登录账号单浏览器登录
- 基于Spring框架的Shiro配置方法
- Spring MVC中上传文件实例
- 实例讲解Java的Spring框架中的AOP实现
- 解析Java中如何获取Spring中配置的bean
- Spring的注解配置与XML配置之间的比较
- java Spring整合Freemarker的详细步骤
- Java 二维码,QR码,J4L-QRCode 的资料整理
- java当中的定时器的4种使用方式
- java中 spring 定时任务 实现代码