`

Spring中ref local与ref bean区别

 
阅读更多

< bean id = "userDAOProxy"

        class = "org.springframework.transaction.interceptor.TransactionProxyFactoryBean" >

        < property name = "transactionManager" >

            < ref bean = "transactionManager" />

        </ property >

        < property name = "target" >

            < ref local = "UserDAO" />

        </ property >

    </ bean >

1 、用 local 属性指定目标 bean 可以利用 xml 解析器的能力在同一个文件中验证 xml id 引用 . 如果在同一个文件中没有匹 配的元素 ,xml 解析器就会产生一个 error, 所以如果目标 bean 在同一个 xml 文件中 , 那么用 local 形式是最好的选择 .


2 、可以这么说, <ref bean 是寻找全局中的 bean; <ref local 是寻找本 xml 文件中的 bean 


3 、 <ref> 提供了如下几方面的属性 :
1)bean: 在当前 Spring XML 配置文件中,或者在同一 BeanFactory(ApplicationContext) 中的其他 JavaBean中 .
2)local: 在当前 Spring XML 配置文件中 . 其依赖的 JavaBean 必须存在于当前 Spring XML 培植文件中 . 如果借助 于 Spring IDE, 则在编译期可以对其依赖的 JavaBean 进行验证。基于 local 方式,开发者能够使用到XML 本身提供 的优势,而进行验证。 
3)parent: 
用于指定其依赖的父 JavaBean 定义。

分享到:
评论

相关推荐

    Spring + Hibernate + Struts 事务配置小例子(带提示框等小技巧)

    &lt;ref local="dataSource" /&gt; &lt;value&gt;com/bean/Tuser.hbm.xml&lt;/value&gt; org.hibernate.dialect.OracleDialect &lt;prop key="hibernate.show_sql"&gt;true ...

    spring定时器轻松搞定

    java类代码: ...&lt;ref local="electriTrigger" /&gt; &lt;/list&gt; &lt;/property&gt; &lt;/bean&gt; 我用的spring.jar,有些低版本的Spring可能找不到.quartz.QuartzJobBean类, 另外加入一个quartz-all-1.6.0.jar包就OK

    基于SpringJDBC的BaseDAO

    实现了简单的ORM增删改查。 &lt;bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate" abstract="false" lazy-init="default" autowire="default" ... &lt;ref local="dataSource" /&gt; &lt;/bean&gt;

    ssh(structs,spring,hibernate)框架中的上传下载

    CONTENT表字段上,在Spring中采用OracleLobHandler来处理Lob字段(包括Clob和Blob),由于在程序中不需要引用到oracle数据驱动程序的具体类且屏蔽了不同数据库处理Lob字段方法上的差别,从而撤除程序在多数据库移植...

    MethodInvokingJobDetailFactoryBean.java

    &lt;!-- 定时任务 方式2(集群方式)--&gt; &lt;bean id="timerJob" class="job.TimerJob"&gt; &lt;/bean&gt; &lt;bean id="timerJobProxy" class="frameworkx.spring... &lt;ref local="timerJobTrigger" /&gt; &lt;/bean&gt;

    JTA事务源码示例

    &lt;ref local="jotm"/&gt; &lt;/bean&gt; &lt;!-- 数据源A --&gt; &lt;bean id="dataSourceA" class="org.enhydra.jdbc.pool.StandardXAPoolDataSource" destroy-method="shutdown"&gt; &lt;bean class="org.enhydra.jdbc.standard....

    ssh框架在application.xml中配置数据源所需jar

    &lt;bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&gt; &lt;value&gt;classpath:hibernate.cfg.xml &lt;/property&gt; &lt;/bean&gt; --&gt; &lt;bean id="dataSource" class=...

    spring-framework-reference-4.1.2

    Aliasing a bean outside the bean definition ................................................ 28 Instantiating beans .......................................................................................

    tomcat8 + nginx + memcached + cas 实现负载均衡的配置包

    log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log logs/access.log main; ...

    spring-framework-reference4.1.4

    Aliasing a bean outside the bean definition ................................................ 28 Instantiating beans .......................................................................................

    java微信公众号MVC开发框架

    spring配置文件中唯一需要配置的bean是WeixinConfigurer类,是可选配置,但里面封装了微信接口服务类,建议一定要配置进spring配置文件中。 1、微信接口服务 微信接口服务类位于...

    freemarker总结

    逻辑与:&& 逻辑或:|| 逻辑非:! 逻辑运算符只能作用于布尔值,否则将产生错误 1.9 内建函数 FreeMarker还提供了一些内建函数来转换输出,可以在任何变量后紧跟?,?后紧跟内建函数,就可以通过内建函数来轮换输出...

Global site tag (gtag.js) - Google Analytics