Spring mvc + hibernate 的框架中,在非Controller下使用@Autowired注入失败,空指针异常。

Springmvc+hibernate的框架中,在非Controller下使用@Autowired注入失败,空指针异常。配置文件中已经加入了如下的内容<context:c... Spring mvc + hibernate 的框架中,在非Controller下使用@Autowired注入失败,空指针异常。
配置文件中已经加入了如下的内容
<context:component-scan base-package="com.cnwaterinfo.csp.*"/>
<!-- 使用annotation 自动注册bean,并保证@Required,@Autowired的属性被注入 -->
<context:component-scan base-package="com.cnwaterinfo.csp.">
<context:exclude-filter type="regex" expression=".*.*Controller$" />
</context:component-scan>
Service类:
@Service("realtimeDataService")
@Transactional
public class RealtimeDataServiceImpl implements RealtimeDataService {

@Autowired
private RealtimeDataDao rdd;

....
何解?
展开
 我来答
balsum
2015-11-25 · TA获得超过311个赞
知道小有建树答主
回答量:188
采纳率:100%
帮助的人:182万
展开全部

简单来说Spring Framework是一个运行时对象管理容器。只有受它管理的对象,才可以通过@Autowired注解来获取另外一个受它管理的对象。

也就是说你的Dao、Service文件一样需要被Spring扫描到并管理。解决方法是以配置Controller等方式配置Dao和Service。

如:

//扫描Dao和Service实现类包
<context:component-scan base-package="com.cnwaterinfo.csp.service">  
<context:component-scan base-package="com.cnwaterinfo.csp.dao">


根据JPA规范,建议使用@Resource注解来获取对象。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式