如何在Spring Boot中使用Java配置在bean定义之外为bean加上别名?
答案 0 :(得分:1)
我也有这个,并且解决了这个问题:
@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 :(得分:0)
您想为已经在其他地方定义的bean加上别名,春季还不支持此功能。
除此之外,@Component
,@Service
和@Repository
中不允许使用bean。
在XML配置中定义或使用@Bean(name = {"alias1", "alias2"})
时,都可以为bean加上别名。但是正如您提到的那样,bean已经在另一个JAR中定义了,因此无法对其进行别名。
spring-framework
对issue相似(不完全相似)。