經過反射對任意class類中方法賦值的方式

import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;java

import java.lang.reflect.Method;spring


@Component
public class SetPlatformUtils {
private static final CoreServiceType c = CoreServiceType.getInstance();apache

public void setVal(Object obj, String methodName, String platform){
//獲取obj表明的實體類class對象
Class clazz = obj.getClass();
Method method = null;
try {
//獲取class對象中的指定的方法
method = clazz.getMethod(methodName, String.class);
//給方法賦值
if (StringUtils.isBlank(platform)){
method.invoke(obj,c.CODE.get("1"));
}else{
method.invoke(obj, c.CODE.get(platform));
}
}
catch (Exception e) {
logger.error("存儲二級分類的反射工具類出錯,obj:{},methodName:{},platform:{},",obj,methodName,platform);
}
}
}工具

相關文章
相關標籤/搜索