`

Spring配置中的bean引用其它bean的属性值

阅读更多
这项功能在spring的3.0版本以上才支持,如果使用较早的版本(如2.5),会造成转换异常(如将String转换为int)以及不能解析赋值字符串。

需要的jar包:spring的核心包以及Apache的commons-logging包。

public class Polishing {
	int laboratory = 1;

	public int getLavatory(int lavatory) {
		return lavatory;
	}

	// Getters and setters are omitted
}


public class Freight {
	int laboratory;
	int slurry;
	int compensatory;

	// Getters and setters are omitted
}


beans.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-3.0.xsd">        
	<bean id="polishing" class="com.john.spring.Polishing" />
	<bean id="freight" class="com.john.spring.Freight">
		<property name="laboratory" value="#{polishing.laboratory}" />
		<property name="slurry" value="#{polishing.getLaboratory()}" />
		<property name="compensatory" value="#{polishing.getLavatory(4)}" />
	</bean>
</beans>


测试类:
public class Perplex {
	public static void main(String[] args) {
		ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
		Freight bean2 = (Freight) ctx.getBean("freight");
		System.out.println(bean2.getLaboratory());
		System.out.println(bean2.getSlurry());
		System.out.println(bean2.getCompensatory());
	}
}
分享到:
评论

相关推荐

    spring bean XML配置入门

    在本文中,我们将深入探讨Spring框架中的Bean XML配置,这是Spring的核心特性之一,它允许我们定义、管理和装配应用中的对象。我们将围绕以下知识点展开: 1. **Spring框架基础**: Spring是一个开源的Java平台,...

    spring bean 属性总结

    - **value/ref/local/parent属性**:用于设置属性值或引用其他Bean。其中,`ref`用于引用同一工厂中的Bean,`local`仅限于同一XML文件,`parent`用于引用模板Bean。 - **&lt;list&gt;/&lt;map&gt;/&lt;set&gt;/&lt;props&gt;`元素**:用于...

    spring运行过程中动态注册bean

    在定义了Bean之后,我们可以通过`addPropertyReference`方法来设置其属性值。这里的`addPropertyReference`用于设置`UserService`中的`userAcctDAO`属性,该属性将引用名为`UserAcctDAO`的另一个Bean。 ```java ...

    在非spring注解类中使用spring容器中的bean_普通类中使用yml配置文件中的配置信息

    然而,在某些情况下,我们可能需要在非Spring注解的类中访问Spring容器中的Bean,或者在这些类中使用YAML配置文件中的配置信息。本篇将详细介绍如何在这样的场景下实现这一目标。 首先,让我们来理解如何在非Spring...

    Spring的Bean配置

    1. **属性注入**:通过`&lt;property&gt;`标签设置Bean的属性值,如XML配置示例所示。 2. **构造器注入**:使用`&lt;constructor-arg&gt;`标签指定构造函数参数,或者在注解配置中使用`@Autowired`配合构造函数。 3. **setter...

    Spring实例化Bean顺序

    在Spring框架中,Bean的实例化顺序是一个关键概念,它涉及到如何管理和协调多个Bean的创建与依赖关系。这里,我们主要探讨的是Spring如何通过其IoC(Inversion of Control)容器来实例化Bean,并理解其背后的逻辑。 ...

    spring bean的生命周期

    - **XML配置**:在传统的Spring应用中,Bean的定义通常写在XML配置文件中,如`springbean-xml`中的配置。 - **注解配置**:使用`@Component`,`@Service`,`@Repository`和`@Controller`注解标记类,配合`@...

    Spring的Bean配置说明

    - **功能概述**:`&lt;property&gt;`元素用于设置Bean的属性值,可以是简单的值、对其他Bean的引用、列表、集合等。 - **`name`属性**:表示要设置的属性名称。 - **`&lt;value&gt;`元素**:用于设置简单类型的属性值。 - **`...

    spring IOC反射装载bean

    `property`标签用于设置Bean的属性值,`ref`属性则引用了另一个Bean。 接下来,Spring使用Java的反射机制来实例化Bean。反射允许程序在运行时动态地获取类的信息(如类名、方法名等)并调用它们。在上述例子中,...

    Spring--2.Spring 中的 Bean 配置-4

    在Spring框架中,Bean配置是核心概念之一,它关乎到对象的创建、初始化、装配以及管理。本节我们将深入探讨Spring中的Bean配置,主要关注如何通过XML、注解以及Java配置方式来管理Bean。 首先,让我们从XML配置说起...

    Spring (bean怎样注入值)学习实例

    本文将深入探讨如何在Spring中通过XML配置文件对Bean进行值的注入,包括List、Set和Map等集合类型的注入。 首先,我们需要了解Spring Bean的定义。在Spring中,Bean是一个被Spring容器管理的对象,它可以通过XML、...

    spring的Bean配置说明

    `name`属性对应Bean的属性名,`value`或`ref`子元素用于指定属性的值或引用其他Bean。 14. `&lt;ref&gt;` 元素:用于建立Bean之间的依赖关系,`bean`属性引用BeanFactory中的Bean,`local`属性则限制在当前XML配置文件内...

    Spring--2.Spring 中的 Bean 配置-1

    本文将深入探讨Spring中的Bean配置,主要基于标题"Spring--2.Spring 中的 Bean 配置-1"及其相关的上下文。 首先,我们要理解什么是Bean。在Spring中,Bean指的是由Spring容器管理的对象,这些对象可以通过XML、注解...

    Spring--2.Spring 中的 Bean 配置-2-2

    `property`标签用于注入属性值,`ref`属性引用其他Bean。 2. **注解配置方式:** 自Spring 2.5起,引入了基于注解的配置,简化了XML配置。在类或方法上使用`@Component`(或其子注解如`@Service`, `@Repository`, ...

    spring bean life cycle

    4. **正常服务**:Bean现在完全初始化并准备好使用,可以在应用程序中被其他Bean引用,执行业务逻辑。 5. **销毁**:当Spring容器关闭时,或Bean的`destroy-method`属性指定的方法,或实现了`DisposableBean`接口的...

    Spring bean 管理

    在Spring中,Bean的管理包含多个方面:创建Bean实例、配置Bean属性、控制Bean的生命周期以及Bean作用域的定义。接下来将详细解释这些知识点。 1. Spring的工厂类: Spring通过工厂模式设计了一系列工厂类来创建对象...

    day38 11-Spring的Bean的属性的注入:对象属性

    在Spring框架中,Bean的属性注入是核心功能之一,它允许我们为Bean对象设置各种属性值,以便在应用运行时创建和配置完全初始化的对象。在本篇内容中,我们将深入探讨Spring如何处理Bean的属性注入,包括对象属性的...

    spring在@Bean注解中initMethod调用方法异步

    10. `PlaceHolderBinder`:这个类可能负责解析和绑定属性占位符,如环境变量和配置文件中的值,到bean的属性上。 总的来说,这个压缩包中的代码片段展示了如何在Spring中利用`@Bean`注解和`initMethod`属性实现异步...

    深度解析spring容器管理bean

    在Spring中,反射用于实例化Bean、调用初始化方法以及设置属性值。当Spring遇到`class="com.example.UserService"`这样的属性时,它会尝试创建UserService类的实例。 依赖注入(DI)是Spring的核心特性,它有助于...

    Java Bean 遍历和使用注解给Bean的属性添加属性值

    在给定的标题"Java Bean 遍历和使用注解给Bean的属性添加属性值"中,我们可以深入探讨两个主要主题:Java Bean的遍历和注解的应用。 1. **Java Bean遍历**: - **反射机制**:遍历Java Bean通常涉及使用Java的反射...

Global site tag (gtag.js) - Google Analytics