有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (2) 个答案

  1. # 1 楼答案

    如果您想为已经在其他地方定义的bean添加别名,spring还不支持此功能

    除此之外@Component@Service@Repository中不允许使用别名

    您可以在XML配置中定义bean时或在使用@Bean(name = {"alias1", "alias2"})时为bean添加别名。但正如您在案例中提到的,bean已经在另一个JAR中定义,不可能给它取别名

    类似的(不完全类似的)issuespring-framework开放

  2. # 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");
        }
    }