BeanUtils 1.9.0 版本包括一些bug修复和改进。最明显的改进是新版本现在要求 JDK5.0 版本以上,语言特性引入了Java 5(主要是泛型),同时还支持自定义 bean introspection。
修复的bugs
=========================
* [BEANUTILS-454] BeanUtilsBean.copyProperties() no longer throws a ConversionException for null properties of certain data types. This fixes a regression introduced in version 1.8.0. The issue is related to [BEANUTILS-387].
* [BEANUTILS-411] BeanUtilsBean.setProperty throws IllegalArgumentException if getter of nested property returns null.
* [BEANUTILS-408] MethodUtils.invokeMethod() throws NullPointerException when args==null.
* [BEANUTILS-426] ConstructorUtils.invokeConstructor(Class klass, Object arg) throws NullPointerException when arg==null.
* [BEANUTILS-380] BeanMap methods should initialize the root cause of exceptions that are thrown when running on JDK 1.4+.
* [BEANUTILS-379] Remove copied Collection classes.
* [BEANUTILS-378] BeanMap does not work in osgi (fixed by BEANUTILS-378).
* [BEANUTILS-381] MethodUtils getMatchingAccessibleMethod() does not correctly handle inheritance and method overloading.
新特性
=============================
* [BEANUTILS-425] Support customization of introspection mechanism.
* [BEANUTILS-428] Provide a BeanIntrospector implementation which supports properties in a fluent API.
* [BEANUTILS-455] WrapDynaBeans can now be configured to use a specific instance of PropertyUtilsBean for introspection or property access.
其他改进
==============================
* [BEANUTILS-452] Add generics.
* [BEANUTILS-449] LocaleConverters do not take the target type into account.
* [BEANUTILS-448] LocaleConverters do not check their default value.
* [BEANUTILS-447] LazyDynaList.toArray() is not conform to the contract defined by the Collection interface.
* [BEANUTILS-446] Some of the converters ignore the passed in target type.
* [BEANUTILS-445] Converters can return an invalid result object if a default value is set.
* [BEANUTILS-441] Replace UnmodifiableSet.decorate with Collections.unModifiableSet.
* [BEANUTILS-436] Replace package.html with package-info.java.
* [BEANUTILS-438] Add @Deprecated and @Override Annotations.
* [BEANUTILS-437] Replace Date and Revision SVN keywords with Id.
* [BEANUTILS-431] Remove @author tags and move missing authors to pom.xml.
* [BEANUTILS-432] Switch to Java 1.5.
* [BEANUTILS-429] Delete trailing white spaces and white spaces on empty lines from all files.
* [BEANUTILS-427] Configure Checkstyle to check for trailing white spaces and white spaces on empty lines.
项目主页:http://commons.apache.org/proper/commons-beanutils/
来自:开源中国社区

