@Bean方法重载时容器如何处理Bean名称和配置元数据
进阶版来源:meituan中级工程师@Bean方法重载解析BeanDefinition继承合并Spring依赖注入源码Spring @Bean静态方法
草稿
答案解析
在 Spring 里,@Bean 方法默认用方法名作为 beanName,除非显式指定了 @Bean(name = "xxx") 或 @Bean("xxx")。
如果一个配置类里出现了 @Bean 方法重载,比如:
这两个方法的方法名都叫 userService,所以默认会生成相同的 beanName。Spring 在解析配置类时,会把 @Bean 方法解析成 BeanDefinition,并以 beanName 作为 key
登录后查看完整内容
