编辑: 山南水北 2017-10-12

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;

http://xglw.51.net/5team/springframework Spring reference 中文版 1.0 } } public class Employee { private float salary;

public float getSalary() { return salary;

} public void setSalary(float salary) { this.salary = salary;

} } 下面的代码片断展示如何检索和操作 Companies 类和 Employees 类实例属性的几个例子. Company c = new Company();

BeanWrapper bwComp = BeanWrapperImpl(c);

// setting the company name... bwComp.setPropertyValue( name , Some Company Inc. );

// ... can also be done like this: PropertyValue v = new PropertyValue( name , Some Company Inc. );

bwComp.setPropertyValue(v);

// ok, let'

s create the director and tie it to the company: Employee jim = new Employee();

BeanWrapper bwJim = BeanWrapperImpl(jim);

bwJim.setPropertyValue( name , Jim Stravinsky );

bwComp.setPropertyValue( managingDirector , jim);

// retrieving the salary of the managingDirector through the company Float salary = (Float)bwComp.getPropertyValue( managingDirector.salary );

3.2.2. 使用 PropertyEditors 包转换属性 有时候,为了使用方便,我们需要以另一种形式展现对象的属性.例如,日期可以以一种更容易 阅读的形式表现出来,同时我们也会将人们熟悉的格式转换回原始的日期格式(或者使用一个更好的 办法:将所有用户偏好形式转换回统一的 java.util.Date 对象).为了达到这一目的,我们可以编 写自定义编辑器, 使其继承 java.beans.PropertyEditor 类型, 并将自定义编辑器注册到 BeanWrapper 上.通过注册, BeanWrapper 将知道 如何把属性转换所需类型的信息 .请阅读 Sun 公司提供的 java.beans 包中 PropertyEditors 的JavaDoc 获得进一步信息. 下面的例子将使用 PropertyEditor,把java.util.Date 对象转换为人们习惯的形式: /** Details in this class are excluded for brevity */ http://xglw.51.net/5team/springframework Spring reference 中文版 1.0 public class Person { public void setBirthDay(Date d);

public Date getBirthDay();

} /** and some other method */ public void doIt() { SimpleDateFormat df = new SimpleDateFormat( dd-MM-yyyy );

// CustomDateEditor located in org.springframework.beans.propertyeditors // true indicated that null values are NOT allowed CustomDateEditor editor = new CustomDateEditor(df, false);

Person p = new Person();

BeanWrapper bw = new BeanWrapper(p);

bw.registerCustomEditor(editor);

// this will convert the String to the desired object type: java.util.Date! bw.setPropertyValue( birthDay , 22-12-1966 );

} PropertyEditors的观念无论是对于MVC框架还是对于Spring框架中的其他部分都非常重要, 所以 在这个文档的剩余部分还会多次出现这个概念.更多的有关自定义编辑器的信息请参考JavaBeans规范(http://java.sun.com/products/javabeans). 3.2.3. 事件传播 TODO: some info on changelisteners and things like that 3.2.4. 其他有用特性 除了以上你所看到的特性,别的一些东西或许也会引起你的兴趣,虽然这些特性不太值得用完整的 一节来介绍. 决定属性是否可读写:你可以使用 isReadable()和isWritable()方法决定一个属性是否可以被 读写. 检索属性描述符:你可以使用 getPropertyDescriptor(String) and getPropertyDescriptors() 方法检索 java.beans.PropertyDescriptor 类型对象的属性描述符,有时这是一个很方便的功 能. http://xglw.51.net/5team/springframework Spring reference 中文版 1.0 3.3.The BeanFactory org.springframework.beans.factory包及其子包提供了SpringIoC容器的基础.Spring的BeanFactory接口支持IoC类型

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题