`
netfork
  • 浏览: 488503 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Spring中ref local与ref bean区别

阅读更多

今天在做SSH框架Demo实例时,在ApplicationResources.properties文件时对<ref bean>与<ref local>感到不解,经查找资料才弄明白,如下:

   <
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 bean 属性总结

    其中,`ref`用于引用同一工厂中的Bean,`local`仅限于同一XML文件,`parent`用于引用模板Bean。 - **&lt;list&gt;/&lt;map&gt;/&lt;set&gt;/&lt;props&gt;`元素**:用于配置集合类型属性,如List、Map、Set和Properties。 #### 总结 ...

    spring的Bean配置说明

    14. `&lt;ref&gt;` 元素:用于建立Bean之间的依赖关系,`bean`属性引用BeanFactory中的Bean,`local`属性则限制在当前XML配置文件内查找Bean。 这些配置选项提供了高度的灵活性,使得Spring能够管理各种复杂的应用程序...

    spring框架配置bean的高级属性

    本文将详细解读标题“spring框架配置bean的高级属性”以及描述中的内容,并结合具体的示例XML配置文件来探讨Bean配置中的高级技巧。 #### 核心概念与应用场景 在描述中提到的`hibernate tools`是一种用于简化...

    Spring中xml的配置[定义].pdf

    使用`local`属性时,如果引用的bean在同一XML文件中,解析器可以立即验证bean是否存在。 3. **ref元素**: `ref`元素用于在bean之间建立依赖关系。有三种形式: - 形式一:`&lt;ref bean="someBean"&gt;`,引用同一容器...

    第七章 Spring4 继承、依赖、引用

    - **byName引用**:通过Bean的名称来引用,使用`@Resource(name="beanName")`或`&lt;ref local="beanName"/&gt;`。 - **byType引用**:通过Bean的类型来引用,使用`@Autowired`注解(默认按类型匹配)或`&lt;ref bean="bean...

    spring的定时任务的配置

    本篇文章将详细探讨如何在 Spring 中配置定时任务,并通过具体的示例代码进行说明。 #### 二、Spring 定时任务配置原理 在 Spring 中,定时任务主要依赖于 Quartz 这个成熟的任务调度框架。Quartz 提供了丰富的 ...

    spring所有配置文件详解

    `applicationContext.xml`是Spring容器使用的主配置文件之一,用于定义Spring中的Bean以及它们之间的依赖关系。 #### 三、applicationContext.xml详解 **1. 文件结构** ```xml &lt;!-- 头文件,定义XML版本及编码 --...

    Spring定时器配置详解

    Spring定时器,也被称为Spring的定时任务管理,是Spring框架中的一个强大功能,允许开发者在应用程序中安排周期性的任务执行。这个特性主要依赖于Quartz库,一个流行的Java作业调度框架,但Spring提供了更简单的API...

    spring 配置文件 归类

    在Spring框架中,配置文件是核心组成部分,它们用于定义bean的定义、依赖关系以及各种配置信息。本篇文章将深入探讨Spring配置文件中的归类,主要包括IOC(Inversion of Control,控制反转)和AOP(Aspect-Oriented ...

    spring2.5学习笔记

    `ref local`和`ref bean`的区别在于,`local`只在当前XML配置文件内查找bean,而`bean`则会在整个应用上下文中查找。 5. 基本数据类型和集合的注入 - Spring支持对基本数据类型、数组、集合(如List、Set、Map)等...

    Spring整合任务调度框架Quartz

    这种方式非常简单,开发者只需要在 Spring 配置文件中定义相应的 Bean,就可以使用 Quartz 实现任务调度。 以下是一个简单的示例代码: ```xml &lt;bean id="overdueRecall" class=...

    详解Spring的配置文件

    在 Spring 框架中,配置文件是核心组成部分之一,它用于定义应用程序中的 Bean 对象以及它们之间的关系,从而实现组件间的解耦合。 #### 二、Spring配置文件的基本结构 Spring 的配置文件通常是 XML 文件,该文件...

    spring 事务代理配置

    声明式事务管理通过在配置文件或注解中定义事务边界,而不是在业务代码中显式地管理事务,从而实现了业务逻辑与事务逻辑的解耦。这种方式使得代码更加清晰、易于维护,并且便于在不同的事务策略间进行切换。 #### `...

    spring实现定时器

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

    Spring提供的三种定时任务机制及其比较

    在Spring框架中,有三种主要的定时任务机制可供开发者选择,分别是基于Quartz的定时机制、Spring自己的`@Scheduled`注解以及Java的`java.util.Timer`类。在这篇文章中,我们将重点讨论基于Quartz的定时机制,因为它...

    Windchill+spring+mybatis

    为了更好地利用Windchill的功能,并将其与其他系统(如Spring框架和MyBatis等)进行有效集成,本文将详细介绍如何在Windchill环境中配置并使用Spring+MyBatis框架。 #### 二、Spring+MyBatis简介 Spring框架是一种...

    Spring入门速成

    - **`&lt;ref&gt;` 标签**:用于引用其他bean,`local` 属性指定了所引用bean的id。 #### 五、Spring在程序中的调用 配置好Spring之后,可以通过Spring的上下文(Context)API来获取和管理bean。例如,在Java中可以使用...

    Spring动态定时器

    &lt;ref local="cronTrigger"/&gt; &lt;/bean&gt; ``` 其中: - `targetMethod`指定了需要定时执行的`scheduleInfoAction`中的`simpleJobTest()`方法。 - `concurrent`属性设置为`false`意味着不允许并发执行相同`...

Global site tag (gtag.js) - Google Analytics