www.3112.net > spring mvC关于@REsourCE()获取对象为空的问题

spring mvC关于@REsourCE()获取对象为空的问题

首先你使用这个注解之前要保证需要注入的对象(或者变量)一定要存在spring容器中.@resource支持按名称和类型匹配,相当于@auotowired和@quiar..这两个注解配和使用

@Resource是源的意思,作用要从容器中得到你注入过的类,functionMqr是注入是的名称,可以你自己定义也可以默认.@Resource+@NotNull的作用,要从容器中拿到这个注入的对象来使用,并且这个对象不能为空.具体的作用讲解如下:

这样暂时看不出什么问题,你可以按F12看看浏览器的请求的详细信息,看看你的具体请求的内容,主要是传递的数据字段的名称像这样的

一般的filter不是spring管理的.所以不会注入.

在setNewsService方法上加断点,debug看看是否正确调用了set方法另外,请检查spring配置文件,autowire方式是否争取,属性名称和方法名是否正确

你是在springmvc中调用的,所以, context:annountation -config等定义,需要写在.springmvc的配置文件里. 一般是 WEB-INF/dispatch-servlet.xml

是不是扫描的时候dao所在的包没包含住

@Resource(这个注解属于J2EE的),默认安照名称进行装配,名称可以通过name属性进行指定, 如果没有指定name属性,当注解写在字段上时,默认取字段名进行按照名称查找,如果注解写在setter方法上默认取属性名进行装配. 当找不到与名称匹配的bean时才按照类型进行装配.但是需要注意的是,如果name属性一旦指定,就只会按照名称进行装配.相当于spring帮你new,如果不写,自己有不new,自然报空指针

简单来说Spring Framework是一个运行时对象管理容器.只有受它管理的对象,才可以通过@Autowired注解来获取另外一个受它管理的对象. 也就是说你的Dao、Service文件一样需要被Spring扫描到并管理.解决方法是以配置Controller等方式

第一行HttpSession session = request.getSession(); 把true去掉,因为true表示只能获取已存在的session对象,并不创建session,而false则没有session就创建,有就直接获取

相关搜索:

网站地图

All rights reserved Powered by www.3112.net

copyright ©right 2010-2021。
www.3112.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com