// If the bean already exists in the factory, don't emit
// a bean definition. This may or may not be legal,
// depending on whether the @Bean annotation allows
// overriding
if (owningBeanFactory.containsLocalBean(beanName)) {
if (!beanAnnotation.allowOverriding()) {
String message = format(
"A bean named '%s' already exists. Consider using @Bean(allowOverriding=true)",
beanName);
throw new IllegalStateException(message);
}