Produce less String-related garbage when generating bean names
Closes gh-24476
This commit is contained in:
parent
d8cd46121a
commit
a36168c972
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2019 the original author or authors.
|
||||
* Copyright 2002-2020 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -725,8 +725,9 @@ public abstract class AbstractBeanFactory extends FactoryBeanRegistrySupport imp
|
|||
aliases.add(fullBeanName);
|
||||
}
|
||||
String[] retrievedAliases = super.getAliases(beanName);
|
||||
String prefix = factoryPrefix ? FACTORY_BEAN_PREFIX : "";
|
||||
for (String retrievedAlias : retrievedAliases) {
|
||||
String alias = (factoryPrefix ? FACTORY_BEAN_PREFIX : "") + retrievedAlias;
|
||||
String alias = prefix + retrievedAlias;
|
||||
if (!alias.equals(name)) {
|
||||
aliases.add(alias);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2018 the original author or authors.
|
||||
* Copyright 2002-2020 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -144,9 +144,10 @@ public abstract class BeanDefinitionReaderUtils {
|
|||
int counter = -1;
|
||||
|
||||
// Increase counter until the id is unique.
|
||||
String prefix = beanName + GENERATED_BEAN_NAME_SEPARATOR;
|
||||
while (counter == -1 || registry.containsBeanDefinition(id)) {
|
||||
counter++;
|
||||
id = beanName + GENERATED_BEAN_NAME_SEPARATOR + counter;
|
||||
id = prefix + counter;
|
||||
}
|
||||
return id;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2019 the original author or authors.
|
||||
* Copyright 2002-2020 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -400,9 +400,10 @@ class BeanDefinitionValueResolver {
|
|||
private String adaptInnerBeanName(String innerBeanName) {
|
||||
String actualInnerBeanName = innerBeanName;
|
||||
int counter = 0;
|
||||
String prefix = innerBeanName + BeanFactoryUtils.GENERATED_BEAN_NAME_SEPARATOR;
|
||||
while (this.beanFactory.isBeanNameInUse(actualInnerBeanName)) {
|
||||
counter++;
|
||||
actualInnerBeanName = innerBeanName + BeanFactoryUtils.GENERATED_BEAN_NAME_SEPARATOR + counter;
|
||||
actualInnerBeanName = prefix + counter;
|
||||
}
|
||||
return actualInnerBeanName;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue