这项功能在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的核心特性之一,它允许我们定义、管理和装配应用中的对象。我们将围绕以下知识点展开: 1. **Spring框架基础**: Spring是一个开源的Java平台,...
- **value/ref/local/parent属性**:用于设置属性值或引用其他Bean。其中,`ref`用于引用同一工厂中的Bean,`local`仅限于同一XML文件,`parent`用于引用模板Bean。 - **<list>/<map>/<set>/<props>`元素**:用于...
在定义了Bean之后,我们可以通过`addPropertyReference`方法来设置其属性值。这里的`addPropertyReference`用于设置`UserService`中的`userAcctDAO`属性,该属性将引用名为`UserAcctDAO`的另一个Bean。 ```java ...
然而,在某些情况下,我们可能需要在非Spring注解的类中访问Spring容器中的Bean,或者在这些类中使用YAML配置文件中的配置信息。本篇将详细介绍如何在这样的场景下实现这一目标。 首先,让我们来理解如何在非Spring...
1. **属性注入**:通过`<property>`标签设置Bean的属性值,如XML配置示例所示。 2. **构造器注入**:使用`<constructor-arg>`标签指定构造函数参数,或者在注解配置中使用`@Autowired`配合构造函数。 3. **setter...
在Spring框架中,Bean的实例化顺序是一个关键概念,它涉及到如何管理和协调多个Bean的创建与依赖关系。这里,我们主要探讨的是Spring如何通过其IoC(Inversion of Control)容器来实例化Bean,并理解其背后的逻辑。 ...
- **XML配置**:在传统的Spring应用中,Bean的定义通常写在XML配置文件中,如`springbean-xml`中的配置。 - **注解配置**:使用`@Component`,`@Service`,`@Repository`和`@Controller`注解标记类,配合`@...
- **功能概述**:`<property>`元素用于设置Bean的属性值,可以是简单的值、对其他Bean的引用、列表、集合等。 - **`name`属性**:表示要设置的属性名称。 - **`<value>`元素**:用于设置简单类型的属性值。 - **`...
`property`标签用于设置Bean的属性值,`ref`属性则引用了另一个Bean。 接下来,Spring使用Java的反射机制来实例化Bean。反射允许程序在运行时动态地获取类的信息(如类名、方法名等)并调用它们。在上述例子中,...
在Spring框架中,Bean配置是核心概念之一,它关乎到对象的创建、初始化、装配以及管理。本节我们将深入探讨Spring中的Bean配置,主要关注如何通过XML、注解以及Java配置方式来管理Bean。 首先,让我们从XML配置说起...
本文将深入探讨如何在Spring中通过XML配置文件对Bean进行值的注入,包括List、Set和Map等集合类型的注入。 首先,我们需要了解Spring Bean的定义。在Spring中,Bean是一个被Spring容器管理的对象,它可以通过XML、...
`name`属性对应Bean的属性名,`value`或`ref`子元素用于指定属性的值或引用其他Bean。 14. `<ref>` 元素:用于建立Bean之间的依赖关系,`bean`属性引用BeanFactory中的Bean,`local`属性则限制在当前XML配置文件内...
在给定的标题"Java Bean 遍历和使用注解给Bean的属性添加属性值"中,我们可以深入探讨两个主要主题:Java Bean的遍历和注解的应用。 1. **Java Bean遍历**: - **反射机制**:遍历Java Bean通常涉及使用Java的反射...
本文将深入探讨Spring中的Bean配置,主要基于标题"Spring--2.Spring 中的 Bean 配置-1"及其相关的上下文。 首先,我们要理解什么是Bean。在Spring中,Bean指的是由Spring容器管理的对象,这些对象可以通过XML、注解...
`property`标签用于注入属性值,`ref`属性引用其他Bean。 2. **注解配置方式:** 自Spring 2.5起,引入了基于注解的配置,简化了XML配置。在类或方法上使用`@Component`(或其子注解如`@Service`, `@Repository`, ...
4. **正常服务**:Bean现在完全初始化并准备好使用,可以在应用程序中被其他Bean引用,执行业务逻辑。 5. **销毁**:当Spring容器关闭时,或Bean的`destroy-method`属性指定的方法,或实现了`DisposableBean`接口的...
在Spring Boot中,属性注入是核心特性之一,它使得我们可以方便地将配置文件中的参数值注入到Bean类的属性中,从而实现灵活的配置管理。本文将详细讲解如何利用`@ConfigurationProperties`注解以及与`@...
在Spring中,Bean的管理包含多个方面:创建Bean实例、配置Bean属性、控制Bean的生命周期以及Bean作用域的定义。接下来将详细解释这些知识点。 1. Spring的工厂类: Spring通过工厂模式设计了一系列工厂类来创建对象...
在Spring框架中,Bean的属性注入是核心功能之一,它允许我们为Bean对象设置各种属性值,以便在应用运行时创建和配置完全初始化的对象。在本篇内容中,我们将深入探讨Spring如何处理Bean的属性注入,包括对象属性的...
10. `PlaceHolderBinder`:这个类可能负责解析和绑定属性占位符,如环境变量和配置文件中的值,到bean的属性上。 总的来说,这个压缩包中的代码片段展示了如何在Spring中利用`@Bean`注解和`initMethod`属性实现异步...