本文整理汇总了Java中org.springframework.beans.factory.BeanFactoryUtils.GENERATED_BEAN_NAME_SEPARATOR属性的典型用法代码示例。如果您正苦于以下问题:Java BeanFactoryUtils.GENERATED_BEAN_NAME_SEPARATOR属性的具体用法?Java BeanFactoryUtils.GENERATED_BEAN_NAME_SEPARATOR怎么用?Java BeanFactoryUtils.GENERATED_BEAN_NAME_SEPARATOR使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类org.springframework.beans.factory.BeanFactoryUtils
的用法示例。
在下文中一共展示了BeanFactoryUtils.GENERATED_BEAN_NAME_SEPARATOR属性的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: generateBeanName
protected String generateBeanName(String prefix, BeanDefinition def, ParserContext parserContext) {
BeanDefinitionRegistry registry = parserContext.getRegistry();
String name = prefix + BeanDefinitionReaderUtils.generateBeanName(def, registry);
String generated = name;
int counter = 0;
while (registry.containsBeanDefinition(generated)) {
generated = name + BeanFactoryUtils.GENERATED_BEAN_NAME_SEPARATOR + counter;
if (parserContext.isNested()) {
generated = generated.concat("#generated");
}
counter++;
}
return generated;
}
示例2: decorate
public BeanDefinitionHolder decorate(Node node, BeanDefinitionHolder definition, ParserContext parserContext) {
BeanDefinition trackingBppDef = createTrackerBpp((Element) node, definition);
// append the tracked bean name to the generated name for easier debugging
String generatedName =
parserContext.getReaderContext().generateBeanName(trackingBppDef)
+ BeanFactoryUtils.GENERATED_BEAN_NAME_SEPARATOR + definition.getBeanName();
parserContext.getRegistry().registerBeanDefinition(generatedName, trackingBppDef);
return definition;
}
示例3: parseInternal
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition();
Class<?> beanClass = getBeanClass(element);
Assert.notNull(beanClass);
if (beanClass != null) {
builder.getRawBeanDefinition().setBeanClass(beanClass);
}
builder.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
builder.getRawBeanDefinition().setSource(parserContext.extractSource(element));
OsgiDefaultsDefinition defaults = resolveDefaults(element.getOwnerDocument(), parserContext);
applyDefaults(parserContext, defaults, builder);
doParse(element, parserContext, builder);
AbstractBeanDefinition def = builder.getBeanDefinition();
// check whether the bean is mandatory (and if it is, make it top-level
// bean)
if (parserContext.isNested()) {
String value = element.getAttribute(AbstractBeanDefinitionParser.ID_ATTRIBUTE);
value = (StringUtils.hasText(value) ? value + BeanFactoryUtils.GENERATED_BEAN_NAME_SEPARATOR : "");
String generatedName = generateBeanName(value, def, parserContext);
// make the bean lazy (since it is an inner bean initiallly)
def.setLazyInit(true);
// disable autowiring for promoted bean
def.setAutowireCandidate(false);
def.setAttribute(PROMOTED_REF, Boolean.TRUE);
BeanDefinitionHolder holder = new BeanDefinitionHolder(def, generatedName);
BeanDefinitionReaderUtils.registerBeanDefinition(holder, parserContext.getRegistry());
return createBeanReferenceDefinition(generatedName, def);
}
return def;
}
示例4: adaptInnerBeanName
/**
* Checks the given bean name whether it is unique. If not already unique,
* a counter is added, increasing the counter until the name is unique.
* @param innerBeanName the original name for the inner bean
* @return the adapted name for the inner bean
*/
private String adaptInnerBeanName(String innerBeanName) {
String actualInnerBeanName = innerBeanName;
int counter = 0;
while (this.beanFactory.isBeanNameInUse(actualInnerBeanName)) {
counter++;
actualInnerBeanName = innerBeanName + BeanFactoryUtils.GENERATED_BEAN_NAME_SEPARATOR + counter;
}
return actualInnerBeanName;
}