Spring防坑指南

20 篇文章 5 订阅 ¥9.90 ¥99.00
本文探讨了Spring中beanName的默认生成策略。通常由AnnotationBeanNameGenerator负责,它会首先尝试从注解的value中获取bean名称。若未指定,则依据Java Beans的规则通过Introspector.decapitalize进行生成,通常是首字母小写。但当首字母和第二个字符都为大写时,bean名称保持不变。
摘要由CSDN通过智能技术生成

beanName:默认生成策略

通常我们默认注解生成的spring bean 的名称是由org.springframework.context.annotation.AnnotationBeanNameGenerator生成的

public String generateBeanName(BeanDefinition definition, BeanDefinitionRegistry registry) {
   if (definition instanceof AnnotatedBeanDefinition) {
      String beanName = determineBeanNameFromAnnotation((AnnotatedBeanDefinition) definition);
      if (StringUtils.hasText(beanName)) {
         // Explicit bean name found.
         return beanName;
      }
   }
   // Fallback: generate a unique default bean name.
   return buildDefaultBeanName(definition, registry);
}
protected String buildDefaultBeanName(BeanDefinition definition) {
   String beanClassName = definition.getBeanClassName();
   Assert.stat
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值