Spring @Component 找不到bean | 大小写问题

27 篇文章 0 订阅
1 篇文章 0 订阅

使用@Component注解类时,容易出现以下错误:org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named

Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'userserviceImpl' available
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:863)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1344
Process finished with exit code 1

我们都知道Spring会帮我们自动修改大小写,使得我们能够通过id找到该类
那究竟它的规律是什么呢?

Spring使用注解自动装配bean时 getBean()寻找文件名规律:

  • 类名首字母大写的 (如UserServiceImpl
    使用 首字母小写,其他不变 如(context.getBean("userServiceImpl")

  • 类名首字母是小写,其他是首字母大写的 如(userServiceImpl
    使用 原类名 如(context.getBean("userServiceImpl")

  • 注意点:

若首字母大写的只需将首字母改为小写即可,其余单词照搬



扩展:

  • web开发,提供3个@Component注解衍生注解(功能一样)

    • @Repository(“名称”):dao层
    • @Service(“名称”):service层
    • @Controller(“名称”):web层
  • @Autowired:自动根据类型注入

  • @Qualifier(“名称”):指定自动注入的id名称

  • @Resource(“名称”)

  • @PostConstruct 自定义初始化

  • @PreDestroy 自定义销毁

@autowire通过byType实现,而且必须要求这个对象存在

@resource默认通过byName实现,如果找不到,通过byType实现

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值