将属性的值设置为bean的对象
/** nowjava.com - 时代Java 提 供 **/ /** * Copyright (c) 2005-2014 VedantaTree all rights reserved. * * This file is part of ExpressionOasis. * * ExpressionOasis is free software. You can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * ExpressionOasis is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE * OR OTHER DEALINGS IN THE SOFTWARE.See the GNU Lesser General Public License * for more details. * * You should have received a copy of the GNU Lesser General Public License * along with ExpressionOasis. If not, see <http://www.gnu.org/licenses/>. * * Please consider to contribute any enhancements to upstream codebase. * It will help the community in getting improved code and features, and * may help you to get the later releases with your changes. */ //package com.nowjava; import java.beans.BeanInfo; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.InvocationTargetException; public class Main { /** * Sets the value of property to the object of bean * * @param bean the bean object whose proeprty is to set. * @param property the name of property. * @param value the value to set for the property. * @throws IntrospectionException * @throws IllegalArgumentException * @throws IllegalAccessException * @throws InvocationTargetException */ public static final void setPropertyValue(Object bean, String property, Object value) throws IntrospectionException, IllegalArgumentException, IllegalAccessException,/** 来自 时 代 J a v a 公 众 号 - N o w J a v a . c o m**/ InvocationTargetException { PropertyDescriptor descriptor = getPropertyDescriptor( bean.getClass(), property); if (descriptor != null && descriptor.getWriteMethod() != null) { descriptor.getWriteMethod() .invoke(bean, new Object[] { value }); } } /** * Gets the property descriptor for the property name from given class. * * @param beanClass the class of bean * @param property the name of property. * @return the property descriptor if property name found else return <code>null</code>. * @throws IntrospectionException */ public static final PropertyDescriptor getPropertyDescriptor( Class beanClass, String property)