我在一個類中注入依賴。但是當我調用該類的方法時沒有找到。春天奇怪的行爲DI
public StudentValidator extends MyValidator implements Validator{
private StudentRepository studentRepository;
//setter for the same
public void validate(Object obj,Errors errors){
validateStudent(Obj)
}
}
public class MyValidator{
private StudentRepository studentRep;
public void setStudentRep(StudentRepository studentRep){
System.out.println("This is printing on Tomcat console");
this.studentRep=studentRep
System.out.println("This is also printing"+studentRep+" with hashcode");
}
public void validateStudent(Object obj){
studentRep.findStud(); getting here NullPointerException
}
}
無需編寫Spring servlet,因爲我可以看到依賴已經通過Syso語句注入到setter中。
相同的問題會是什麼?
UPDATE
爲spring-servlet.xml
<beans>
<bean id="studentValidator" class="SyudentValidator" >
<property name="studentRepository" ref="studentRepository">
</bean>
<bean id="myValidator" class="MyValidator">
<property name="studentRep" ref="studentRepository">
</bean>
<bean id="studentRepository" class="StudentRepository">
</beans>
NullPointerException異常是不是我的問題。問題是爲什麼我在這種情況下得到空指針,因爲Syso語句正在打印我的依賴關係哈希碼。
您已經省略了'StudentValidator'類的'studentRepository'字段的setter - 它是否與'MyValidator'上的setter具有相同的'println'語句? –
是的...在學生驗證器中我得到的是參考,但沒有在超類中。 –