springmvc里面注入之后调取的方法返回为空指针,但是实际上穿的参数没错,单返回的却是空指针
注解映射支持已经开启,service映射也有
就是不知道是什么问题
reportDatasService,你要确定你在service层中使用service注解的name属性也是这个值,我看你好像是多了一个‘s’
<!-- 自動掃描納入spring管理的類,除開spring控制器,如果和控制器一起扫描,事物可能会失效 -->
<context:component-scan base-package="com">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
看下扫描那里有没有问题
reportDatasService里面的方法报空异常吧?看一下service的代码
name里面的reportDatasService是你在浏览器里访问的名字,你对比一下你的访问链接
你的配置文件是springmvc.xml,可见是针对controller层。你把springmvc中的bean配置移到spring的配置文件中
看看ApplicationContext里面的bean和你要取的是一个id吗
检查id的名字和你class注入时候是否一样。看看是否配置了此包的路径。如果autowire不行,试试ApplicationContext的getBean()方法
Spring的IOC容器包含了SpringMVC的IOC,即SpringMVC配置的bean可以调用Spring配置好的bean,反之则不可以。
如果SpringMVC想通过@Autowired注入Spring容器里的属性,即使Spring配置文件已经配置好了。
或者 ,
SpringMVC配置文件中也得需要从新配置
你的代码和你贴 的异常信息不符,不是一个类,没法查问题。
报异常的32行处,你有说那个方法正常?到底是哪里有问题?
配置文件里面跟自己用注解调用的名字不一样吧,一个是 reportDatasService,一个是reportDataService,一个小写s的区别,找不到你注入的Service
你确认你的参数rd不为空?检查下你的参数如果为空的话,参数这样写(@RequestBody ReportData rd)
你用postman试试,
正常的传入rp,不正常的传入rd,在错误之前判断rd是否是null。
错误应该是用rd,但是没给参数吧
是否加入了 @Service 注解 你根据你报空指针的代码 一步步跟一下 看看问题是处在哪里
service的实现类标注解@service了么?