@Override public ScopeMetadata resolveScopeMetadata(BeanDefinition definition) { ScopeMetadata metadata = new ScopeMetadata(); if (definition instanceof AnnotatedBeanDefinition) { AnnotatedBeanDefinition annDef = (AnnotatedBeanDefinition)definition; Set<String> annotationTypes = annDef.getMetadata().getAnnotationTypes(); // String scopeName; if (annotationTypes.contains(Singleton.class.getName())) { scopeName = "singleton"; } else { scopeName = "prototype"; for (Scope scope : scopes) { if (annotationTypes.contains(scope.getAnnotationType().getName())) { scopeName = scope.name().toLowerCase(); break; } } } metadata.setScopeName(scopeName); return metadata; } else { return super.resolveScopeMetadata(definition); } } }
@Override public ScopeMetadata resolveScopeMetadata(BeanDefinition definition) { ScopeMetadata metadata = new ScopeMetadata(); if (definition instanceof AnnotatedBeanDefinition) { AnnotatedBeanDefinition annDef = (AnnotatedBeanDefinition)definition; Set<String> annotationTypes = annDef.getMetadata().getAnnotationTypes(); // String scopeName; if (annotationTypes.contains(Singleton.class.getName())) { scopeName = "singleton"; } else { scopeName = "prototype"; for (Scope scope : scopes) { if (annotationTypes.contains(scope.getAnnotationType().getName())) { scopeName = scope.name().toLowerCase(); break; } } } metadata.setScopeName(scopeName); return metadata; } else { return super.resolveScopeMetadata(definition); } } }
@Override void configure(String name, SpringInjector builder, DefaultListableBeanFactory factory) { AnnotatedGenericBeanDefinition definition = new AnnotatedGenericBeanDefinition(type); // if (scope != null) { definition.setScope(scope.name().toLowerCase()); } else { ScopeMetadata scopeMD = builder.scopeResolver.resolveScopeMetadata(definition); if (scopeMD != null) { definition.setScope(scopeMD.getScopeName()); } } // if (qualifiers != null) { for (AutowireCandidateQualifier qualifier : qualifiers) { definition.addQualifier(qualifier); } } // factory.registerBeanDefinition(name, definition); } }
@Override void configure(String name, SpringInjector builder, DefaultListableBeanFactory factory) { AnnotatedGenericBeanDefinition definition = new AnnotatedGenericBeanDefinition(type); // if (scope != null) { definition.setScope(scope.name().toLowerCase()); } else { ScopeMetadata scopeMD = builder.scopeResolver.resolveScopeMetadata(definition); if (scopeMD != null) { definition.setScope(scopeMD.getScopeName()); } } // if (qualifiers != null) { for (AutowireCandidateQualifier qualifier : qualifiers) { definition.addQualifier(qualifier); } } // factory.registerBeanDefinition(name, definition); } }
definition.setScope(scope.name().toLowerCase());
definition.setScope(scope.name().toLowerCase());
factory.registerScope(scope.name().toLowerCase(), new SpringScope(factory, scope, scopeController));
factory.registerScope(scope.name().toLowerCase(), new SpringScope(factory, scope, scopeController));
definition.setScope(scope.name().toLowerCase());
definition.setScope(scope.name().toLowerCase());