[英]How to fix NullPointerException on Autowired JdbcTemplate
我正在重新编写我的问题,希望有更多的道理并获得帮助。
我有一个Controller
,2 ClassRepository
和2 Service
类(其中一个未使用@Service进行注释,因为在注释时会出现错误,因此我只是将其用作类)
没有用@Service注释的类,我只是将rateRepository
对象从带注释的服务传递给了无注释的服务。
如果我在带注释的服务中执行以下代码
String zone = rateRepository.getPurolatorZone(request.getShipToZip().substring(0,3));
它很棒。
但是在我未注释的课程中,我实例化了该课程
InternationalRateService internationalRateService = new InternationalRateService(this.rateRepository);
更新:我用@Service
注释了InternationalRateService
类,并决定自动连接存储库本身,并且在getPurolatorZone方法上仍然收到空指针异常。.我不明白为什么在设置一个服务时它不能在另一个服务中工作相同。
第二次更新:事实证明,我是个白痴,因为我什至没有想到要检查传递给存储库的字符串是否确实是引发错误的原因。 原来我从来没有设置本地shiptozip变量。 是的是个白痴。
Spring将仅在Spring托管bean中注入依赖项。 如果使用new
创建对象,那么它不是spring托管的bean。
在您的情况下,不像由new
操作员创建的那样管理InternationalRateService
对象。
因此,在您的控制器中注入InternationalRateService
,以便注入所有依赖项
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.