Spring中@Component、@Repository、@Service和 @Controller的默认bean名称

若使用过滤器自定义扫描 <context:component-scan base-package="xxx"> 
spring开发手册中这样写: 

当一个组件在某个扫描过程中被自动检测到时,会根据那个扫描器的BeanNameGenerator 策略生成它的bean名称。默认情况下,任何包含 name值的Spring“典型”注解 (@Component、@Repository、 @Service和@Controller) 会把那个名字 提供给相关的bean定义。如果这个注解不包含name值或是其他检测到的组件 (比如被自定义过滤器发现的),默认bean名称生成器会返回小写开头的非限定(non-qualified)类名。

也就是说被加了注解扫描到spring容器中的bean会默认将小写开头的类名 作为bean的name,供其他地方引用.

例如:以下两个组件在spring中引用的名称分别是'customUserDetailsService '和 'detailService'

@Service
public class CustomUserDetailsService implements UserDetailsService {}


@Service("detailService")
public class CustomUserDetailsService implements UserDetailsService {}

 

举个实例:

在项目中 遇到这个地方做了bean引用,但是没有发现这个customUserDetailsService在xml中的定义,经查后发现CustomUserDetai

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值