在SpringBoot中使用Java配置在bean定义之外为bean添加别名 1 月,2 周 Questions & Answers 380 如何在SpringBoot中使用Java配置在bean定义之外为bean别名
# 1 楼答案 如果您想为已经在其他地方定义的bean添加别名,spring还不支持此功能强> 除此之外@Component、@Service和@Repository中不允许使用别名 您可以在XML配置中定义bean时或在使用@Bean(name = {"alias1", "alias2"})时为bean添加别名。但正如您在案例中提到的,bean已经在另一个JAR中定义,不可能给它取别名 类似的(不完全类似的)issue对spring-framework开放
# 2 楼答案 我也有这个问题,并且像这样解决: @Component public class AliasConfiguration implements BeanFactoryPostProcessor { @Override public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { beanFactory.registerAlias("originalBeanName", "newAlias"); beanFactory.registerAlias("originalBeanName", "newAlias2"); beanFactory.registerAlias("otherOriginalBeanName", "newAlias3"); } }
# 1 楼答案
如果您想为已经在其他地方定义的bean添加别名,spring还不支持此功能强>
除此之外
@Component
、@Service
和@Repository
中不允许使用别名您可以在XML配置中定义bean时或在使用
@Bean(name = {"alias1", "alias2"})
时为bean添加别名。但正如您在案例中提到的,bean已经在另一个JAR中定义,不可能给它取别名类似的(不完全类似的)issue对
spring-framework
开放# 2 楼答案
我也有这个问题,并且像这样解决: