java interface初始化_尝试初始化Java接口时出现NullPointerException

I was having some problem with Java interfaces. Basically I have this ICardApplMgr which is meant to be inherited by ISCPCardApplMrg. My interfaces as such:

public interface ISCPCardApplMrg extends ICardApplMgr { }

public interface ICardApplMgr {

public String getLossCount(String nric, boolean flag, String serialNumber);

}

对于实现类:

public class SCPCardApplMrgImpl extends BaseApplMgrImpl implements ISCPCardApplMrg {

public String getLossCount(String nric, boolean flag, String serialNumber) { //logic }

}

然后,我得到了这个服务类,它将在上面的MgrImpl类中调用该函数:

@Service("cardApplication")

public class CardApplicationServiceImpl implements CardApplicationService {

protected ISCPCardApplMrg scpCardMgr;

public void setScpCardMgr(ISCPCardApplMrg mgr) {

this.scpCardMgr = mgr;

}

public ICardApplMgr getCardAppMgr(String itemCode) {

ICardApplMgr ret = null;

if (Constants.SCP_ITEM_CODE.equals(itemCode)) {

ret = scpCardMgr;

}

if (ret == null) {

log.warn("Null Manager found for itemCode " + itemCode);

}

return ret;

}

public String getLossCount(String nric, boolean flag, String itemCode, String serialNumber) {

return getCardAppMgr(itemCode).getLossCount(nric, flag, serialNumber);

}

}

However, when I tried to call the getLossCount(), inside that function at the getCardAppMgr(), I am getting NullPointerException. Error message as such:

Exception in executing doSCPCardLoss java.lang.NullPointerException

at sc.appMgt.business.service.impl.CardApplicationServiceImpl.getLossCount(CardApplicationServiceImpl.java:385)

at sc.appMgt.presentation.controller.SCPCardCardLossController.doSCPCardLoss(SCPCardCardLossController.java:187)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)

at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)

at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105)

at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:879)

at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793)

at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)

at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)

at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)

at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:286)

at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:260)

at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:137)

at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:350)

at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)

at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)

at sc.idms.common.filter.SessionFilter.doFilter(SessionFilter.java:368)

at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)

at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3701)

at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3667)

at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326)

at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:197)

at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203)

at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71)

at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2443)

at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2291)

at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2269)

at weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1703)

at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1663)

at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:272)

at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352)

at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337)

at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57)

at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)

at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:644)

at weblogic.work.ExecuteThread.execute(ExecuteThread.java:415)

at weblogic.work.ExecuteThread.run(ExecuteThread.java:355)

有关如何解决此问题的任何想法?谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值