`

Spring中<ref local=""/>与<ref bean=""/>区别

 
阅读更多

<ref local="xx"/>
  用"local"属性指定目标其实是指向同一文件内对应"id"属性值为此"local"值的索引
"local"属性的值必须和目标bean的id属性相同。如果同一文件内没有匹配的元素,xml解析器将提示错误。同样,如果目标在同一XML文件内,使用"local"变量是最好的选择(为了尽可能早地知道错误)

 

<ref bean="xx"/>
  用"bean"属性指定目标bean是最常规的形式,这允许创建索引到任何同一个容器内的bean(无论是否在同一XML 文件中)或者父级的容器内的bean。"bean"属性的值可以和目标bean的"id"属性相同,也可以和目标bean的"name"属性内的一个值相同

 

 

 

  • 可以这么说, <ref bean=""/> 是寻找全局中的 bean; <ref local=""/> 是寻找本 xml 文件中的 bean

 

  • <ref> 提供了如下几方面的属性 :

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

分享到:
评论

相关推荐

    Spring配置详解.docx

    &lt;property name="dataSource"&gt;&lt;ref bean="dataSource" /&gt;&lt;/property&gt; &lt;!-- 配置映射文件 --&gt; &lt;property name="mappingResources"&gt; &lt;list&gt; &lt;value&gt;com/alonely/vo/User.hbm.xml&lt;/value&gt; &lt;/list&gt; &lt;/property&gt; ...

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

    &lt;ref local="dataSource" /&gt; &lt;/property&gt; &lt;property name="mappingResources"&gt; &lt;list&gt; &lt;value&gt;com/bean/Tuser.hbm.xml&lt;/value&gt; &lt;/list&gt; &lt;/property&gt; &lt;property name="hibernateProperties"&gt; ...

    详解Spring的配置文件

    - `&lt;property name="dataSource"&gt;&lt;ref bean="dataSource"/&gt;&lt;/property&gt;`:将 `dataSource` 注入到 `sessionFactory` 中。 - `&lt;property name="mappingResources"&gt;&lt;list&gt;&lt;value&gt;com/alonely/vo/User.hbm.xml&lt;/value...

    MethodInvokingJobDetailFactoryBean.java

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

    Spring多数据源配置_分布式数据

    &lt;value&gt;classpath:/org/testa/hibernate/model/&lt;/value&gt; &lt;/list&gt; &lt;/property&gt; &lt;property name="hibernateProperties"&gt; &lt;props&gt; &lt;prop key="hibernate.dialect"&gt;org.hibernate.dialect.Oracle9Dialect&lt;/prop&gt; ...

    JTA事务源码示例

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

    spring配置文件说明.doc

    - `&lt;bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&gt;`: 创建一个名为`sessionFactory`的Bean,用于管理Hibernate会话。 - `&lt;property name="dataSource"&gt;`: 设置...

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

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

    spring配置文件说明[借鉴].pdf

    &lt;bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&gt; ... &lt;/bean&gt; ``` 这里,`LocalSessionFactoryBean`会根据配置的`dataSource`和映射文件来创建SessionFactory。...

    applicationContext.xml详解

    &lt;property name="sessionFactory"&gt;&lt;ref bean="sessionFactory"/&gt;&lt;/property&gt; &lt;/bean&gt; &lt;bean id="userService" class="com.alonely.service.UserService"&gt; &lt;property name="userDAO"&gt;&lt;ref local="userDAO"/&gt;&lt;/...

    Spring配置事务在DAO层和业务逻辑层

    &lt;ref local="sessionFactory"/&gt; &lt;/property&gt; &lt;/bean&gt; ``` 这里配置了一个`HibernateTransactionManager`实例,通过`sessionFactory`属性关联了一个Hibernate的`SessionFactory`。 ##### DAO层的事务代理配置 ``...

    SSH事务配置大全

    &lt;ref local="sessionFactory"/&gt; &lt;/property&gt; &lt;/bean&gt; ``` 2. **服务层Bean的配置** 通常情况下,业务逻辑会封装在一个或多个服务层Bean中。例如,以下代码片段定义了一个名为`fundService`的服务层Bean,它...

    spring实现定时器

    &lt;ref local="scheduledTadk"/&gt; &lt;/list&gt; &lt;/property&gt; &lt;/bean&gt; ``` - `&lt;bean id="MyTimer" class="com.test.MyTimer"&gt;&lt;/bean&gt;`:定义了一个名为`MyTimer`的Bean实例。 - `&lt;bean id="methodInvokingTask" class=...

    spring所有配置文件详解

    - **根元素 `&lt;beans&gt;`**:定义Spring容器中的多个Bean实例。 - **子元素 `&lt;bean&gt;`**:用于声明一个具体的Bean实例。 **2. 数据源配置示例** ```xml &lt;!-- 建立数据源 --&gt; &lt;bean id="dataSource" class="org.apache....

    spring配置文件详解

    - **`&lt;bean&gt;`标签**:定义了一个名为`sessionFactory`的bean实例,其类为`org.springframework.orm.hibernate3.LocalSessionFactoryBean`。 - **属性配置**: - `dataSource`:引用了前面定义的数据源bean。 - `...

    spring配置在DAO和事务层(DOC)

    &lt;bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"&gt; &lt;property name="sessionFactory"&gt; &lt;ref local="sessionFactory"/&gt; &lt;/property&gt; &lt;/bean&gt; ``` - **...

    spring框架配置bean的高级属性

    &lt;bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"&gt; &lt;property name="sessionFactory"&gt; &lt;ref local="sessionFactory"/&gt; &lt;/property&gt; &lt;/bean&gt; ``` 这部分...

    Spring定时器配置详解

    &lt;property name="targetObject"&gt;&lt;ref local="lzstoneQuartzTask"/&gt;&lt;/property&gt; &lt;!-- 指定定时器任务类要执行的方法名称 --&gt; &lt;property name="targetMethod"&gt;&lt;value&gt;execute&lt;/value&gt;&lt;/property&gt; &lt;/bean&gt; &lt;!-- ...

    spring多个定时任务quartz配置 easy518网址导航

    &lt;bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"&gt; &lt;property name="triggers"&gt; &lt;list&gt; &lt;ref local="cronTrigger_1"/&gt; &lt;ref local="cronTrigger_2"/&gt; &lt;/list&gt; &lt;/property&gt; &lt;/bean&gt; ...

    spring配置详解

    &lt;bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&gt; &lt;property name="dataSource"&gt; &lt;ref bean="dataSource"/&gt; &lt;/property&gt; &lt;property name="mappingResources"&gt; ...

Global site tag (gtag.js) - Google Analytics