考虑下面两个类:
public class Company {
private String name;
private Employee managingDirector;
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public Employee getManagingDirector() {
return this.managingDirector;
}
public void setManagingDirector(Employee managingDirector) {
this.managingDirector = managingDirector;
}
}
public class Employee {
private float salary;
public float getSalary() {
return salary;
}
public void setSalary(float salary) {
this.salary = salary;
}
}
下面的代码片断展示了如何获取和设置上面两个示例类 Companies和Employees的属性:
BeanWrapper company = BeanWrapperImpl(new Company());
// setting the company name..
company.setPropertyValue("name", "Some Company Inc.");
// ... can also be done like this:
PropertyValue value = new PropertyValue("name", "Some Company Inc.");
company.setPropertyValue(value);
// ok, let's create the director and tie it to the company:
BeanWrapper jim = BeanWrapperImpl(new Employee());
jim.setPropertyValue("name", "Jim Stravinsky");
company.setPropertyValue("managingDirector", jim.getWrappedInstance());
// retrieving the salary of the managingDirector through the company
Float salary = (Float) company.getPropertyValue("managingDirector.salary");
分享到:
相关推荐
- **访问和修改属性值**:使用`Field`的`get(Object obj)`和`set(Object obj, Object value)`方法可以读取和设置Bean实例的属性值。 - **遍历getter和setter**:`Class.getMethod(String name, Class<?>... ...
- **设置 Bean 的属性和合作者**:可以在 Bean 定义中指定其属性值和其他依赖的 Bean。 - **深入 Bean 属性和构造函数参数**:可以使用构造函数注入来传递参数,也可以使用 setter 方法注入来设置属性。 - **方法...
3. **BeanDefinition**:这个接口代表了bean的元数据,包含bean的类名、初始化方法、属性值、依赖关系等信息。这些信息被用来实例化和配置bean。 4. **PropertyEditor**:Spring利用PropertyEditor来处理bean属性的...
BeanWrapper类用于操作JavaBean属性,包括获取和设置属性值以及属性类型转换。Spring类型转换系统提供了一个全面的类型转换服务,支持各种类型之间的转换。Spring还提供了一套标准的日期和时间格式化配置。 最后,...
5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的PropertyEditor实现 5.4.2.1. 注册用户自定义的PropertyEditor 6. 使用Spring进行面向切面编程(AOP) 6.1. 简介 6.1.1. AOP概念 6.1.2. Spring AOP的功能和目标 ...
- **BeanWrapper**:提供了一种统一的方式处理不同类型的 Bean 属性。 - **BeanFactory**:负责实例化、定位和配置应用程序中的对象。 - **ApplicationContext**:扩展了 `BeanFactory`,提供了更多的企业级服务...
- **BeanWrapper 和 bean 处理:** BeanWrapper 是一个用于读写 Bean 属性的工具类,可以方便地进行属性的设置和获取。 - **PropertyEditor:** PropertyEditor 用于自定义 Bean 属性的类型转换规则,可以用于处理...
SpEL可以用于bean定义中,为bean属性设置值,也可以在运行时查询和操作对象属性。 Spring AOP(面向切面编程)是Spring的一个重要组件,它允许开发者将横切关注点(例如日志、安全等)与业务逻辑分离,从而使得代码...
5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的PropertyEditor实现 6. 使用Spring进行面向切面编程(AOP) 6.1. 简介 6.1.1. AOP概念 6.1.2. Spring AOP的功能和目标 6.1.3. Spring的AOP代理 6.2. @...
SpEL可以用于配置文件中,用于动态计算属性值,也可以在运行时动态地访问和修改对象状态。 6. commons-logging-1.2.jar:这是一个外部的日志库,Spring框架使用它来实现日志记录。Apache Commons Logging是一个轻量...
5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的PropertyEditor实现 6. 使用Spring进行面向切面编程(AOP) 6.1. 简介 6.1.1. AOP概念 6.1.2. Spring AOP的功能和目标 6.1.3. AOP代理 6.2. @AspectJ支持 ...
在本段提供的文档内容中,主要涉及到Spring框架和MVC模式的相关知识点,这是一本关于Spring框架开发的指南书籍,其中包含了Spring框架的设计思想、开发中的实际使用、以及作者在项目实践中的一些经验总结。...
- **对于null值的处理:** Spring允许配置默认值或使用注解处理null情况。 - **使用依赖(depend-on):** 指定Bean的依赖顺序。 - **Bean的生命周期:** - **Bean的定义:** Bean的基本配置信息。 - **Bean的...
5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的PropertyEditor实现 6. 使用Spring进行面向切面编程(AOP) 6.1. 简介 6.1.1. AOP概念 6.1.2. Spring AOP的功能和目标 6.1.3. AOP代理 6.2. @AspectJ支持 ...
5.4 引用Bean的属性值 5.5 国际化信息 5.5.1 基础知识 5.5.2 MessageSource 5.5.3 容器级的国际化信息资源 5.6 容器事件 5.6.1 Spring事件类结构 5.6.2 解构Spring事件体系的具体实现 5.6.3 一个实例 5.7 小结 第6章...
`BeanWrapper`接口提供了对JavaBean属性的标准化访问,通过它可以在运行时动态地获取或设置bean的属性值,无需关心具体的JavaBean类型。这对于实现IoC和AOP等高级功能至关重要,因为它提供了对对象状态的统一访问点...
5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的PropertyEditor实现 6. 使用Spring进行面向切面编程(AOP) 6.1. 简介 6.1.1. AOP概念 6.1.2. Spring AOP的功能和目标 6.1.3. Spring的AOP代理 6.2. @...
- **BeanWrapper**:提供了一种封装Bean的方法,允许操作Bean的属性,包括读取、设置和转换。它是Spring框架内部实现依赖注入的重要工具。 - **BeanFactory**:是Spring框架中最基本的容器,负责实例化、定位和...