Bean
@Service
public class BeanClass{
private String myField;
}
use
public static void doSomething(ApplicationContext applicationContext){
Object bean = applicationContext.getBean("beanClass");
set(bean, AopUtils.getTargetClass(object).getFields[0], "hello")
}
public static void set(Object bean, Field field, Object value){
if(bean == null || field == null){throw new RuntimeException();}
field.setAccessible(true);
field.set(bean, value);
}
The above throws the Exception
Caused by java.lang.IllegalArgumentException: Can not set java.lang.String field my.package.BeanClass.myField to null value
How to set Field
of a Spring bean using Reflect
?
I can confirm that none of the parameters are null
... which shouldnt affect it anyway because I should be able to set an reference types to null.
Aucun commentaire:
Enregistrer un commentaire