Spring中,ref属性有三种指定依赖的方式,分别时:local,bean,parent.
下面分别看一下代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans Public "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id ="HelloWorld" class="com.jnotnull.HelloWorld" depends="date">
<property name ="message">
<value>HelloWorld</value>
</property>
<property name ="date">
<ref local="date">
</property>
<bean>
<bean id="date" class="java.util.Date">
</beans>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans Public "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id ="HelloWorld" class="com.jnotnull.HelloWorld" depends="date">
<property name ="message">
<value>HelloWorld</value>
</property>
<property name ="date">
<ref bean="date">
</property>
<bean>
<bean id="date" class="java.util.Date">
</beans>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans Public "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id ="HelloWorld" class="com.jnotnull.HelloWorld" depends="date">
<property name ="message">
<value>HelloWorld</value>
</property>
<property name ="date">
<ref parent="date">
</property>
<bean>
<bean id="date" class="java.util.Date">
</beans>
下面看看它们之间的区别:
local用于本地,即同文档中的bean
bean可以跨xml文档,同时bean属性的值可以和依赖的Bean的id属性相同,也可以和name属性相同。
parent:容许应用当前BeanFactory或ApplicationContext的父BeanFactory或者ApplicationContext中的Bean,同时bean属性的值可以和依赖的Bean的id属性相同,也可以和name属性相同。
分享到:
相关推荐
在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象之间的耦合度降低,提高了代码的可测试性和可维护性。本文将深入探讨Spring中的依赖注入实现方式,以及如何通过样例文件...
标题中的"Spring之ref"指的是在Spring框架中关于`@Autowired`注解的`@Qualifier("ref")`或`@Resource(name = "ref")`的使用,这些是用来精确指定依赖注入对象的引用。在Spring中,当我们有多个相同类型的Bean且需要...
`factory-bean`属性指向工厂Bean,而`factory-method`属性指定工厂方法。 - **depends-on属性**:指定Bean的依赖关系,确保某些Bean在其他Bean之前初始化。 #### `<property>`元素 `<property>`元素用于配置Bean...
`ref` 属性指定了要注入的 Bean 的 ID。 **注解驱动的配置** 除了 XML 配置,Spring 也支持使用注解进行配置。这使得代码更加简洁且易于理解。我们可以在类上使用 `@Component` 注解声明一个 Bean,然后使用 `@...
在Spring框架中,属性注入是核心特性之一,它允许我们通过依赖注入(Dependency Injection, DI)来管理对象的属性,而不是让对象自行创建或查找它们的依赖。这有助于提高代码的可测试性、可维护性和解耦性。下面将...
在Spring框架中,属性注入是将外部配置的属性值注入到Bean对象中,使得对象可以在运行时根据配置动态地获取其依赖的属性。本篇学习笔记主要探讨了Spring中的属性注入方式,包括了传统的XML配置注入、注解式注入以及...
在Spring框架中,管理Bean的方式主要有三种:XML配置、注解配置和Java配置。下面将详细介绍这三种方式以及Spring的自动注入机制。 1. **基于XML的Bean定义**: 在XML配置中,我们通常在`applicationContext.xml`...
Spring支持三种依赖注入方式: - **setter注入**:通过调用Bean的setter方法来设置依赖。 - **构造器注入**:通过Bean的构造函数传递依赖。 - **接口注入**:较少使用,通过实现特定的接口来注入依赖。 3. **...
配置文件中,使用`<property>`标签的`name`属性指定setter方法名,`ref`属性引用依赖的bean。 3. **接口注入**:Spring通过实现特定的接口,如`InitializingBean`或`DisposableBean`,来自动调用接口方法注入依赖...
Struts、Hibernate和Spring是Java开发中非常流行的三大框架,它们各自在Web应用程序的不同层面上发挥作用:Struts处理MVC模式中的Controller部分,Hibernate负责数据持久化,而Spring则提供了全面的依赖注入...
二、Spring中的依赖注入方式 1. **构造器注入**:这是最常见的一种注入方式。通过在类的构造函数中添加参数,Spring容器会根据参数类型匹配并注入相应的bean。例如: ```java public class UserService { private...
2. **配置Bean和依赖**: 在Spring的XML配置文件(如`beans.xml`)中声明这两个bean,并指定`MyService`的`myRepository`属性的值。这里,我们假设`MyRepository`也有自己的配置。 ```xml ...
在XML配置文件中,使用`<constructor-arg>`标签,通过`ref`属性指定依赖的bean。这种方式确保了在对象创建时,所有的依赖就已经准备就绪。 第三种是接口注入,这种方式相对较少见,主要是通过实现特定接口并在接口...
下面我们将详细探讨Spring 中的三种注入方式:接口依赖注入(Type1)、setter/getter 注入(Type2,也称为属性注入)和构造方法注入(Type3)。 1. **接口依赖注入(Type1)** 这种注入方式相对不常见,主要适用于...
本文将重点介绍Spring框架中事务配置的五种方式,并结合示例代码进行详细解析,帮助开发者更好地理解和运用这些配置方式。 #### 二、Spring事务配置概述 Spring框架支持多种事务管理方式,包括编程式事务管理和...
综上所述,Spring中的方法注入提供了更灵活的方式来管理和注入依赖,它与构造函数注入、属性注入等一起,构成了Spring强大的依赖注入机制。理解并合理使用这些注入方式,可以帮助我们编写出更加健壮、易于维护的代码...
属性注入是DI的一种实现方式,它允许我们向Bean实例中传入其他对象或基本类型的数据,无需在代码中手动创建或查找依赖。 2. **XML配置中的属性注入** - 在传统的Spring XML配置中,我们可以使用`<property>`标签来...
对于setter注入,Spring会检查BeanDefinition中属性值的`ref`属性,如果存在,表示该属性是一个引用,需要查找对应的bean实例并注入。这个过程称为`autowiring`,自动匹配类型匹配的bean。 构造器注入则在创建bean...
这里,`type`属性指定了泛型类型,Spring会根据这个类型来匹配合适的依赖。 4. **类型安全的依赖**:通过这种方式,Spring可以在运行时检查类型匹配,避免了强制类型转换的需要,也减少了潜在的ClassCastException...
在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象间的依赖关系得以解耦,提高了代码的可测试性和可维护性。Spring提供了多种注入方式,包括set注入、构造注入和自动注入...