У меня есть класс POJO:
@Component
public class ClassOne{
public int id;
public String fname;
public String lname;
public String code;
super constructor
fields constructor
getters & setters
}
У меня есть класс обслуживания:
@Service
public class ClassOneServiceImpl implements ClassOneService{
public ClassOneServiceImpl{}
@override
public boolean addUser(String fname,String lname,String code){
Class<?> theClass =
Class.forName("com.somepackage.ClassOne");
Constructor<?> theClassConstructor =
theClass.getConstructor(String.class, String.class,String.class);
ClassOne theClassObj = (ClassOne)
theClassConstructor.newInstance("fname","lname","code");
Field fnameField = theClass.getDeclaredField("fname");
Field lnameField = theClass.getDeclaredField("lname");
Field codeField = theClass.getDeclaredField("code");
System.out.println("Field name is " +
fnameField.getName()); //I get the Field's name
String fnameStr =(String)
fnameField.get(theClassObj); //the NPE caused here
String lnameStr =(String)
lnameField.get(theClassObj);
System.out.println(fnameStr); //here getting null
...here is the code to persist the form's field data .
}
}
Очевидно, что theClassObj не был создан, поскольку у класса обслуживания нет метода main ...
В чем моя ошибка и как получить экземпляр в этом случае?
Я попытался поместить экземпляр из конструктора класса обслуживания ... не работает.
java.lang.NullPointerException: null