java反射实体类赋值
代码如下
public <T> T convert(String json, T t){
try {
Class czl=t.getClass();
Method[] methods=czl.getDeclaredMethods();
JSONObject obj=covertJson(json);
for (int i=0;i<methods.length;i++){
String method=methods[i].getName();
if (method.startsWith("set")){
String methodName=covertSet(method);
if (json.indexOf(methodName)!=-1){
Method arg=czl.getMethod(method,methods[i].getParameterTypes());
arg.invoke(t,new Object[]{obj.get(methodName)});czl.newInstance();
}
}
}
return t;
}catch (Exception e){
System.out.println(e.getMessage());
return null;
}
}
java获取spring bean
@Component
public class SpringBeanUtils implements ApplicationContextAware {
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
if(SpringBeanUtils.applicationContext == null) {
SpringBeanUtils.applicationContext = applicationContext;
}
}
/** * 获取applicationContext * @return */
public static ApplicationContext getApplicationContext() {
return applicationContext;
}
/** * 通过name获取 Bean. * @param name * @return */
public static Object getBean(String name){
return getApplicationContext().getBean(name);
}
/** * 通过class获取Bean. * @param clazz * @param <T> * @return */
public static <T> T getBean(Class<T> clazz){
return getApplicationContext().getBean(clazz);
}
/** * 通过name,以及Clazz返回指定的Bean * @param name * @param clazz * @param <T> * @return */
public static <T> T getBean(String name,Class<T> clazz){
return getApplicationContext().getBean(name, clazz);
}
}