quartz运行时报错NoSuchBeanDefinitionException: No bean named 'xxx' is defined

此问题花费我较多时间,在此做下记录。
问题排查步骤:
1、@Controller、@Service等注解是否有写

2、xml等是否配置自动扫描对应的bean

3、定时任务中bean的名称等是否写错(我就是错在这里了  坑啊)

这里主要说说第三点:

NoSuchBeanDefinitionException报错不外乎两个原因
1、bean没有创建注入

2、定时任务中写的bean名称与创建的bean名称不一致(我的问题所在)

我通过定位发现:
1、beanFactory创建的bean搜字母大写第二个字母小写的话,bean的首字母会自动变成小写的,而我的定时任务使用的bean名称还是首字母大写,通过首字母大写的bean去搜索,所以搜索不到
举例 :有一个UserController  beanFatory创建的bean为userController,如果我们定时器通过UserController这个bean名称去搜索这个bean是永远搜索不到的,只能通过userController去搜索才能搜到
2、beanFactory创建的bean 第一第二两个字母都是大写的话,bean名称就不会改变

举例:TUserController bean名称还是TUserController,需要通过TUserController这个bean名称去搜索。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值