次のようなクラスがありBaseResource.java
ます。
public class BaseResource{
protected UserManager userManager;
public void doSth(){
Object obj = userManager.returnObject(); //This is where exception is thrown
}
public UserManager getUserManager() {
return userManager;
}
public void setUserManager(UserManager userManager) {
this.userManager = userManager;
}
}
セッターが見えますよね?これBaseResource
には子がありCustomerResurce.java
ます:
public class CommonResources extends BaseResource{
private UserManager userManager;
public void doSthElse(){
Object obj = doSth(); // Calling its parent's method
//Other stuff
}
public UserManager getUserManager() {
return userManager;
}
public void setUserManager(UserManager userManager) {
this.userManager = userManager;
}
}
子のクラスにありUserManager
、親のメソッドを呼び出すとJavaNullPointException
上昇します。しかし、私が削除すると
private UserManager usermanager;
(およびそのゲッターとセッター)子供のクラスから、問題は解決されました!何故ですか?
そして、これは私のSpring構成です:
<bean id="baseResource" class="com.datx.web.resources.core.BaseResource"
scope="session" autowire="byName" />
<bean id="customerResources" class="com.datx.web.resources.core.CustomerResources"
scope="session" autowire="byName" />
<bean id="userManager" class="com.datx.usermanagement.manager.UserManager"
autowire="byName" scope="prototype"/>