spring注解 bean的默认名称生成策略

一、作用在类上:

使用@Component、@Repository、@Service、@Controller等注解创建bean时

如果不指定bean名称,bean名称的默认规则是类名的首字母小写,如UserService->userService

如果类名前两个或以上个字母都是大写,那么bean名称与类名一样,如RBACUser - >RBACUser

二、作用在方法上:

@Bean 作用于方法上创建bean

如果不指定bean名称,bean名称的默认规则是 “方法名(首字母小写)”的配置方式

三、spring @Bean 注解修饰带参数方法时,参数取值

/**
     * 自定义Realm
     */
    @Bean
    public UserRealm userRealm(EhCacheManager cacheManager)
    {
        UserRealm userRealm = new UserRealm();
        userRealm.setAuthorizationCacheName(Constants.SYS_AUTH_CACHE);
        userRealm.setCacheManager(cacheManager);
        return userRealm;
    }

如上,有参数 EhCacheManager cacheManager,若 spring 容器中只有一个 EhCacheManager 类型的 bean,则不论参数取名为何都是按类型取 EhCacheManager 的 bean 为参数,若 Spring 容器有多个类型为 EhCacheManager 的 bean 则参数取名必须为多个 bean 中的一个,否则报错。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值