service层的类都有用@Service标识,但报空指针,注入失败,很可能是因为spring的application配置和springmvc的配置文件配置错误,导致容器冲突了。

spring和springmvc整合后,项目会有2个容器,一个是spring容器,一个是springmvc容器

spring容器是父容器,springmvc容器是spring容器的子容器。

spring容器初始化后,springmvc再进行初始化,并将spring容器作为它的父容器。

子容器能够访问父容器的bean,而反之不行。

两个容器的关系大概就是上述文字所表达的。

如果spring的配置文件application.xml中

<context:component-scanbase-package="com.test.*"/>

此路径和

springmvc配置文件中

<context:component-scanbase-package="com.test.*"/>

路径一致,或者是父容器初始化的路径包括了子容器。

那么,当springmvc容器初始化时,如果发现有相同的类,会将新初始化的实例覆盖spring容器中已经存在的实例,这可能会导致注入失败,空指针的问题。

假如我们的controller里面引用了service,并且spring的配置文件初始化时扫描了全部的实例包括springmvc的controller并初始化,接着,springmvc容器初始化时,就会将spring容器中的controller实例覆盖掉。这个时候就会出错了,新的controller实例中的service就会出现找不到实例的情况。

所以解决方法是,2个容器扫描的包必须相互区分,互不干扰。spring容器扫描非controller的实例,而springmvc容器扫描controller的实例就行。

【Spring】Service 注入失败,空指针相关推荐

  1. 【quartz】quartz定时任务service注入失败

    quartz定时任务service注入失败的详细的原因我查了查是这样的: Job是在quartz的框架中实例化的,service是在spring容器中创建出来的,所以Job实现类不受spring管理, ...

  2. java service注入失败,使用spring向service里面注入dao不成功。

    使用spring向service里面注入dao不成功.求救啊! 本帖最后由 PaperStar 于 2013-12-26 19:29:20 编辑 页面调用action,action调用service, ...

  3. Spring Autowired 注入失败总是Null

    报错:NullPointerException 分析:错误原因是注入失败? <context:annotation-config/> <context:component-scan ...

  4. spring依赖注入失败原因

    今天碰到一个奇葩项目,一朋友叫我帮忙解决一下ssh项目错误,我看了一下代码,内容很简单,基本上也都是些小错误,改完后运行,结果就报了个依赖注入失败失败,先贴上错误信息: 严重: Context ini ...

  5. SpringBoot中service注入失败(A component required a bean of type ‘XXService‘ that could not found)...

    先写了JUnit,发现启动不了,注释掉有问题的service也不可以.可能是因为spring开始时会加载所有service吧. 按照网友们的说法,一般需要检查: 1.入口类有没有写MapperScan ...

  6. SpringBoot中service注入失败 出现A component required a bean of type 'com.czxy.changgou3.mapper.OrderGoodsMa

    错误信息 Error starting ApplicationContext. To display the conditions report re-run your application wit ...

  7. Service注入不进去

    控制台报service注入失败 <context:component-scan base-package="com.service.*"/> 路径没有错误 检查发现没有 ...

  8. SpringAOP导致@Autowired依赖注入失败

    用springAOP做操作日志记录,发现:方法为private修饰的,在AOP适配的时候会导致service注入失败,但是同一个service其他的public方法正常 public static b ...

  9. 踩坑:Spring静态变量/构造函数注入失败(注入为null)问题的解决方案

    1.案例1:Spring对静态变量的注入为空 案例代码如下: @Component public class HelloWorld {/*** 错误案例:这种方式是不能给静态变量注入属性值的*/@Va ...

最新文章

  1. P1516 青蛙的约会
  2. 三种方式实现日志记录
  3. Promise.race 的原理
  4. ibmmq 通道命令_IBM MQ 使用指南
  5. linux各种查看端口号
  6. 合并table中某一列相邻的相同的行
  7. PAT1021 Deepest Root
  8. oracle 以1开头以9结尾_小学生记叙文写作技巧六——如何把握好文章的开头和结尾呢?...
  9. 大数据在电力行业的应用前景有哪些?
  10. Chrome 中迅雷的插件(正确的下载地址)下载以及安装(一)
  11. (12) 基于深度时空残差网络ResNet的城市交通流预测
  12. 如何把几张图片合并成一张图片?
  13. [译]写给初学者的Tensorflow介绍 - 2
  14. 光纤跳线接口_综合布线与弱电工程:跳线、尾纤、光纤接口,一文讲明白
  15. 基于C++的web服务器---总述篇
  16. 整合springmvc+mybatis+veloctiy二
  17. Python带我飞:50个有趣而又鲜为人知的Python特性
  18. 谈谈浏览器中富文本编辑器的技术演进
  19. 树莓派自定义游戏,Minecraft硬件编程,建造房屋,我的世界还可以这样玩
  20. 第一章第六天Java基础语法 嵌套循环

热门文章

  1. 20162309《程序设计与数据结构》第二学期课程总结
  2. jsp调用Python
  3. javascript 创建对象方式
  4. 订餐系统-第一个用NodeJs实现的项目
  5. 代码描述10911 - Forming Quiz Teams
  6. SQL优化之存储过程强制编译
  7. PHP第三方登录—OAuth2.0协议
  8. Web下的整体测试 --性能测试及优化思路
  9. Lync2010标准版部署
  10. rails3高端observer模式