org.springframework.core.type.AnnotationMetadata Java Examples
The following examples show how to use
org.springframework.core.type.AnnotationMetadata.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source Project: spring-boot-data-geode Author: spring-projects File: AbstractFunctionExecutionAutoConfigurationExtension.java License: Apache License 2.0 | 6 votes |
@SuppressWarnings("unused") @Override protected AbstractFunctionExecutionConfigurationSource newAnnotationBasedFunctionExecutionConfigurationSource( AnnotationMetadata annotationMetadata) { StandardAnnotationMetadata metadata = new StandardAnnotationMetadata(getConfiguration(), true); return new AnnotationFunctionExecutionConfigurationSource(metadata) { @Override public Iterable<String> getBasePackages() { return AutoConfigurationPackages.get(getBeanFactory()); } }; }
Example #2
Source Project: java-technology-stack Author: codeEngraver File: ImportSelectorTests.java License: MIT License | 6 votes |
@Test public void importSelectorsSeparateWithGroup() { DefaultListableBeanFactory beanFactory = spy(new DefaultListableBeanFactory()); AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(beanFactory); context.register(GroupedConfig1.class); context.register(GroupedConfig2.class); context.refresh(); InOrder ordered = inOrder(beanFactory); ordered.verify(beanFactory).registerBeanDefinition(eq("c"), any()); ordered.verify(beanFactory).registerBeanDefinition(eq("d"), any()); assertThat(TestImportGroup.instancesCount.get(), equalTo(1)); assertThat(TestImportGroup.imports.size(), equalTo(2)); Iterator<AnnotationMetadata> iterator = TestImportGroup.imports.keySet().iterator(); assertThat(iterator.next().getClassName(), equalTo(GroupedConfig2.class.getName())); assertThat(iterator.next().getClassName(), equalTo(GroupedConfig1.class.getName())); }
Example #3
Source Project: spring-analysis-note Author: Vip-Augus File: MethodMetadataReadingVisitorTests.java License: MIT License | 6 votes |
@Override protected AnnotationMetadata get(Class<?> source) { try { ClassLoader classLoader = source.getClassLoader(); String className = source.getName(); String resourcePath = ResourceLoader.CLASSPATH_URL_PREFIX + ClassUtils.convertClassNameToResourcePath(className) + ClassUtils.CLASS_FILE_SUFFIX; Resource resource = new DefaultResourceLoader().getResource(resourcePath); try (InputStream inputStream = new BufferedInputStream( resource.getInputStream())) { ClassReader classReader = new ClassReader(inputStream); AnnotationMetadataReadingVisitor metadata = new AnnotationMetadataReadingVisitor( classLoader); classReader.accept(metadata, ClassReader.SKIP_DEBUG); return metadata; } } catch (Exception ex) { throw new IllegalStateException(ex); } }
Example #4
Source Project: java-technology-stack Author: codeEngraver File: AnnotationBeanNameGenerator.java License: MIT License | 6 votes |
/** * Derive a bean name from one of the annotations on the class. * @param annotatedDef the annotation-aware bean definition * @return the bean name, or {@code null} if none is found */ @Nullable protected String determineBeanNameFromAnnotation(AnnotatedBeanDefinition annotatedDef) { AnnotationMetadata amd = annotatedDef.getMetadata(); Set<String> types = amd.getAnnotationTypes(); String beanName = null; for (String type : types) { AnnotationAttributes attributes = AnnotationConfigUtils.attributesFor(amd, type); if (attributes != null && isStereotypeWithNameValue(type, amd.getMetaAnnotationTypes(type), attributes)) { Object value = attributes.get("value"); if (value instanceof String) { String strVal = (String) value; if (StringUtils.hasLength(strVal)) { if (beanName != null && !strVal.equals(beanName)) { throw new IllegalStateException("Stereotype annotations suggest inconsistent " + "component names: '" + beanName + "' versus '" + strVal + "'"); } beanName = strVal; } } } } return beanName; }
Example #5
Source Project: spring-session Author: spring-projects File: RedisHttpSessionConfiguration.java License: Apache License 2.0 | 6 votes |
@Override @SuppressWarnings("deprecation") public void setImportMetadata(AnnotationMetadata importMetadata) { Map<String, Object> attributeMap = importMetadata .getAnnotationAttributes(EnableRedisHttpSession.class.getName()); AnnotationAttributes attributes = AnnotationAttributes.fromMap(attributeMap); this.maxInactiveIntervalInSeconds = attributes.getNumber("maxInactiveIntervalInSeconds"); String redisNamespaceValue = attributes.getString("redisNamespace"); if (StringUtils.hasText(redisNamespaceValue)) { this.redisNamespace = this.embeddedValueResolver.resolveStringValue(redisNamespaceValue); } FlushMode flushMode = attributes.getEnum("flushMode"); RedisFlushMode redisFlushMode = attributes.getEnum("redisFlushMode"); if (flushMode == FlushMode.ON_SAVE && redisFlushMode != RedisFlushMode.ON_SAVE) { flushMode = redisFlushMode.getFlushMode(); } this.flushMode = flushMode; this.saveMode = attributes.getEnum("saveMode"); String cleanupCron = attributes.getString("cleanupCron"); if (StringUtils.hasText(cleanupCron)) { this.cleanupCron = cleanupCron; } }
Example #6
Source Project: faster-framework-project Author: faster-framework File: GRpcClientRegister.java License: Apache License 2.0 | 6 votes |
@Override public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) { AnnotationAttributes annotationAttributes = AnnotationAttributes.fromMap(importingClassMetadata.getAnnotationAttributes(GRpcClientScan.class.getCanonicalName())); if (annotationAttributes == null) { log.warn("GrpcScan was not found.Please check your configuration."); return; } ClassPathGRpcServiceScanner classPathGrpcServiceScanner = new ClassPathGRpcServiceScanner(registry, beanFactory); classPathGrpcServiceScanner.setResourceLoader(this.resourceLoader); classPathGrpcServiceScanner.addIncludeFilter(new AnnotationTypeFilter(GRpcService.class)); List<String> basePackages = AutoConfigurationPackages.get(this.beanFactory); for (String pkg : annotationAttributes.getStringArray("basePackages")) { if (StringUtils.hasText(pkg)) { basePackages.add(pkg); } } classPathGrpcServiceScanner.doScan(StringUtils.toStringArray(basePackages)); }
Example #7
Source Project: onetwo Author: wayshall File: RestApiClentRegistrar.java License: Apache License 2.0 | 6 votes |
@Override protected BeanDefinitionBuilder createApiClientFactoryBeanBuilder(AnnotationMetadata annotationMetadata, AnnotationAttributes attributes) { String className = annotationMetadata.getClassName(); BeanDefinitionBuilder definition = BeanDefinitionBuilder.genericBeanDefinition(DefaultApiClientFactoryBean.class); definition.addPropertyValue("url", resolveUrl(attributes)); definition.addPropertyValue("path", resolvePath(attributes)); // definition.addPropertyValue("name", name); definition.addPropertyValue("interfaceClass", className); // definition.addPropertyValue("restExecutor", getRestExecutor()); definition.addPropertyReference("restExecutor", RestExecutorFactory.REST_EXECUTOR_FACTORY_BEAN_NAME); // definition.addPropertyValue("decode404", attributes.get("decode404")); // definition.addPropertyValue("fallback", attributes.get("fallback")); definition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_BY_TYPE); return definition; }
Example #8
Source Project: wallride Author: tagbangers File: WebAdminComponentScanRegistrar.java License: Apache License 2.0 | 6 votes |
private Set<String> getPackagesToScan(AnnotationMetadata metadata) { AnnotationAttributes attributes = AnnotationAttributes .fromMap(metadata.getAnnotationAttributes(WebAdminComponentScan.class.getName())); String[] value = attributes.getStringArray("value"); String[] basePackages = attributes.getStringArray("basePackages"); Class<?>[] basePackageClasses = attributes.getClassArray("basePackageClasses"); if (!ObjectUtils.isEmpty(value)) { Assert.state(ObjectUtils.isEmpty(basePackages), "@WebAdminComponentScan basePackages and value attributes are mutually exclusive"); } Set<String> packagesToScan = new LinkedHashSet<String>(); packagesToScan.addAll(Arrays.asList(value)); packagesToScan.addAll(Arrays.asList(basePackages)); for (Class<?> basePackageClass : basePackageClasses) { packagesToScan.add(ClassUtils.getPackageName(basePackageClass)); } if (packagesToScan.isEmpty()) { return Collections.singleton(ClassUtils.getPackageName(metadata.getClassName())); } return packagesToScan; }
Example #9
Source Project: spring-cloud-square Author: spring-cloud-incubator File: AbstractRetrofitClientsRegistrar.java License: Apache License 2.0 | 6 votes |
private void registerRetrofitClient(BeanDefinitionRegistry registry, AnnotationMetadata annotationMetadata, Map<String, Object> attributes) { String className = annotationMetadata.getClassName(); BeanDefinitionBuilder definition = BeanDefinitionBuilder .genericBeanDefinition(getFactoryBeanClass()); validate(attributes); definition.addPropertyValue("url", getUrl(attributes)); String name = getName(attributes); definition.addPropertyValue("name", name); definition.addPropertyValue("type", className); definition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_BY_TYPE); String alias = name + "RetrofitClient"; AbstractBeanDefinition beanDefinition = definition.getBeanDefinition(); beanDefinition.setPrimary(true); String qualifier = getQualifier(attributes); if (StringUtils.hasText(qualifier)) { alias = qualifier; } BeanDefinitionHolder holder = new BeanDefinitionHolder(beanDefinition, className, new String[] { alias }); BeanDefinitionReaderUtils.registerBeanDefinition(holder, registry); }
Example #10
Source Project: spring-cloud-openfeign Author: spring-cloud File: FeignClientsRegistrar.java License: Apache License 2.0 | 5 votes |
private void registerFeignClient(BeanDefinitionRegistry registry, AnnotationMetadata annotationMetadata, Map<String, Object> attributes) { String className = annotationMetadata.getClassName(); BeanDefinitionBuilder definition = BeanDefinitionBuilder .genericBeanDefinition(FeignClientFactoryBean.class); validate(attributes); definition.addPropertyValue("url", getUrl(attributes)); definition.addPropertyValue("path", getPath(attributes)); String name = getName(attributes); definition.addPropertyValue("name", name); String contextId = getContextId(attributes); definition.addPropertyValue("contextId", contextId); definition.addPropertyValue("type", className); definition.addPropertyValue("decode404", attributes.get("decode404")); definition.addPropertyValue("fallback", attributes.get("fallback")); definition.addPropertyValue("fallbackFactory", attributes.get("fallbackFactory")); definition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_BY_TYPE); String alias = contextId + "FeignClient"; AbstractBeanDefinition beanDefinition = definition.getBeanDefinition(); beanDefinition.setAttribute(FactoryBean.OBJECT_TYPE_ATTRIBUTE, className); // has a default, won't be null boolean primary = (Boolean) attributes.get("primary"); beanDefinition.setPrimary(primary); String qualifier = getQualifier(attributes); if (StringUtils.hasText(qualifier)) { alias = qualifier; } BeanDefinitionHolder holder = new BeanDefinitionHolder(beanDefinition, className, new String[] { alias }); BeanDefinitionReaderUtils.registerBeanDefinition(holder, registry); }
Example #11
Source Project: api-boot Author: minbox-projects File: ApiBootMyBatisEnhanceAutoConfiguration.java License: Apache License 2.0 | 5 votes |
@Override public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) { logger.debug("Searching for mappers based with EnhanceMapper.class"); // 重写扫描实现类 // 将扫描到的每一个类 EnhanceClassPathMapperScanner scanner = new EnhanceClassPathMapperScanner(registry); try { if (this.resourceLoader != null) { scanner.setResourceLoader(this.resourceLoader); } List<String> packages = AutoConfigurationPackages.get(this.beanFactory); if (logger.isDebugEnabled()) { for (String pkg : packages) { logger.debug("Using auto-configuration base package '{}'", pkg); } } // 通过标记的父接口扫描 scanner.setMarkerInterface(EnhanceMapper.class); // 通过注解形式扫描 //scanner.setAnnotationClass(Mapper.class); scanner.registerFilters(); scanner.doScan(StringUtils.toStringArray(packages)); } catch (IllegalStateException ex) { logger.debug("Could not determine auto-configuration package, automatic mapper scanning disabled.", ex); } }
Example #12
Source Project: oauth-server Author: choerodon File: ChoerodonRedisHttpSessionConfiguration.java License: Apache License 2.0 | 5 votes |
public void setImportMetadata(AnnotationMetadata importMetadata) { Map<String, Object> enableAttrMap = importMetadata.getAnnotationAttributes(EnableRedisHttpSession.class.getName()); AnnotationAttributes enableAttrs = AnnotationAttributes.fromMap(enableAttrMap); this.maxInactiveIntervalInSeconds = enableAttrs.getNumber("maxInactiveIntervalInSeconds"); String redisNamespaceValue = enableAttrs.getString("redisNamespace"); if (StringUtils.hasText(redisNamespaceValue)) { this.redisNamespace = this.embeddedValueResolver.resolveStringValue(redisNamespaceValue); } this.redisFlushMode = enableAttrs.getEnum("redisFlushMode"); }
Example #13
Source Project: spring-cloud-aws Author: spring-cloud File: ContextInstanceDataConfiguration.java License: Apache License 2.0 | 5 votes |
@Override public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) { AnnotationAttributes annotationAttributes = AnnotationAttributes .fromMap(importingClassMetadata.getAnnotationAttributes( EnableContextInstanceData.class.getName(), false)); Assert.notNull(annotationAttributes, "@EnableContextInstanceData is not present on importing class " + importingClassMetadata.getClassName()); registerInstanceDataPropertySource(registry, annotationAttributes.getString("valueSeparator"), annotationAttributes.getString("attributeSeparator")); }
Example #14
Source Project: GyJdbc Author: hope-for File: BindPointAspectRegistar.java License: Apache License 2.0 | 5 votes |
@Override public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) { if (!inited) { RootBeanDefinition root = new RootBeanDefinition(); root.setBeanClass(BindPointAspect.class); registry.registerBeanDefinition(BindPointAspect.class.getName(), root); inited = true; } }
Example #15
Source Project: onetwo Author: wayshall File: Simple2RestApiClentRegistrar.java License: Apache License 2.0 | 5 votes |
@Override protected BeanDefinitionBuilder createApiClientFactoryBeanBuilder(AnnotationMetadata annotationMetadata, AnnotationAttributes attributes) { String className = annotationMetadata.getClassName(); BeanDefinitionBuilder definition = BeanDefinitionBuilder.genericBeanDefinition(DefaultApiClientFactoryBean.class); definition.addPropertyValue("url", resolveUrl(attributes)); definition.addPropertyValue("path", resolvePath(attributes)); definition.addPropertyValue("interfaceClass", className); definition.addPropertyReference("restExecutor", RestExecutorFactory.REST_EXECUTOR_FACTORY_BEAN_NAME); definition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_BY_TYPE); return definition; }
Example #16
Source Project: spring-analysis-note Author: Vip-Augus File: AbstractAsyncConfiguration.java License: MIT License | 5 votes |
@Override public void setImportMetadata(AnnotationMetadata importMetadata) { this.enableAsync = AnnotationAttributes.fromMap( importMetadata.getAnnotationAttributes(EnableAsync.class.getName(), false)); if (this.enableAsync == null) { throw new IllegalArgumentException( "@EnableAsync is not present on importing class " + importMetadata.getClassName()); } }
Example #17
Source Project: tx-lcn Author: codingapi File: DependenciesImportSelector.java License: Apache License 2.0 | 5 votes |
/** * resolve the spi classes * * @param importingClassMetadata importingClassMetadata * @return spi classes */ @Override @NonNull public String[] selectImports(@NonNull AnnotationMetadata importingClassMetadata) { boolean enabledTxc = Boolean.valueOf( Objects.requireNonNull( importingClassMetadata.getAnnotationAttributes(EnableDistributedTransaction.class.getName())) .get("enableTxc").toString()); List<String> importClasses = new ArrayList<>(); importClasses.add("com.codingapi.txlcn.txmsg.MessageConfiguration"); if (enabledTxc) { importClasses.add(TxcConfiguration.class.getName()); } return importClasses.toArray(new String[0]); }
Example #18
Source Project: netty-chat Author: shuangyueliao File: RabbitmqChatDefinitionRegistrar.java License: Apache License 2.0 | 5 votes |
@Override public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry){ Class beanClass = RabbitmqOfflineInfoHelper.class; RootBeanDefinition beanDefinition = new RootBeanDefinition(beanClass); String beanName = StringUtils.uncapitalize(beanClass.getSimpleName()); //在这里可以拿到所有注解的信息,可以根据不同注解来返回不同的class,从而达到开启不同功能的目的 //通过这种方式可以自定义beanName registry.registerBeanDefinition(beanName, beanDefinition); }
Example #19
Source Project: spring-content Author: paulcwarren File: CmisRegistrar.java License: Apache License 2.0 | 5 votes |
BeanDefinition createTypeDefinition(Class<?> bd, Class<?> rbd, Class<?> sbd, AnnotationMetadata annotationMetadata) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(CmisTypeDefinitionFactoryBean.class); builder.getRawBeanDefinition().setSource(annotationMetadata); try { builder.addPropertyValue("entityClass", bd); builder.addPropertyValue("repoClass", rbd); builder.addPropertyValue("storeClass", sbd); } catch (Throwable t) { } return builder.getBeanDefinition(); }
Example #20
Source Project: lams Author: lamsfoundation File: AnnotationConfigUtils.java License: GNU General Public License v2.0 | 5 votes |
@SuppressWarnings("unchecked") static Set<AnnotationAttributes> attributesForRepeatable(AnnotationMetadata metadata, String containerClassName, String annotationClassName) { Set<AnnotationAttributes> result = new LinkedHashSet<AnnotationAttributes>(); addAttributesIfNotNull(result, metadata.getAnnotationAttributes(annotationClassName, false)); Map<String, Object> container = metadata.getAnnotationAttributes(containerClassName, false); if (container != null && container.containsKey("value")) { for (Map<String, Object> containedAttributes : (Map<String, Object>[]) container.get("value")) { addAttributesIfNotNull(result, containedAttributes); } } return Collections.unmodifiableSet(result); }
Example #21
Source Project: spring-backend-boilerplate Author: melthaw File: EnableMenuImportSelector.java License: Apache License 2.0 | 5 votes |
@Override public String[] selectImports(AnnotationMetadata metadata) { MultiValueMap<String,Object> attributes = metadata.getAllAnnotationAttributes(EnableMenu.class.getName(), false); String pluginId = attributes == null ? null : (String) attributes.getFirst("pluginId"); if (StringUtils.isEmpty(pluginId)) { return new String[0]; } return new String[]{MenuPluginBeanRegistrar.class.getName()}; }
Example #22
Source Project: java-technology-stack Author: codeEngraver File: MBeanExportConfiguration.java License: MIT License | 5 votes |
@Override public void setImportMetadata(AnnotationMetadata importMetadata) { Map<String, Object> map = importMetadata.getAnnotationAttributes(EnableMBeanExport.class.getName()); this.enableMBeanExport = AnnotationAttributes.fromMap(map); if (this.enableMBeanExport == null) { throw new IllegalArgumentException( "@EnableMBeanExport is not present on importing class " + importMetadata.getClassName()); } }
Example #23
Source Project: java-technology-stack Author: codeEngraver File: ConfigurationClassParser.java License: MIT License | 5 votes |
@Override public void removeImportingClass(String importingClass) { for (List<AnnotationMetadata> list : this.imports.values()) { for (Iterator<AnnotationMetadata> iterator = list.iterator(); iterator.hasNext();) { if (iterator.next().getClassName().equals(importingClass)) { iterator.remove(); break; } } } }
Example #24
Source Project: cuba Author: cuba-platform File: WindowConfig.java License: Apache License 2.0 | 5 votes |
protected void registerScreen(String id, WindowInfo windowInfo) { String controllerClassName = windowInfo.getControllerClassName(); if (controllerClassName != null) { MetadataReader classMetadata = loadClassMetadata(controllerClassName); AnnotationMetadata annotationMetadata = classMetadata.getAnnotationMetadata(); registerPrimaryEditor(windowInfo, annotationMetadata); registerPrimaryLookup(windowInfo, annotationMetadata); } screens.put(id, windowInfo); registerScreenRoute(id, windowInfo); }
Example #25
Source Project: onetwo Author: wayshall File: EnableJFishOauth2Selector.java License: Apache License 2.0 | 5 votes |
@Override protected Set<String> doSelect(AnnotationMetadata metadata, AnnotationAttributes attributes) { Set<String> classNames = new HashSet<String>(); List<OAuth2Role> roles = Arrays.asList((OAuth2Role[])attributes.get("value")); classNames.add(PasswordEncoderConfiguration.class.getName()); if(roles.contains(OAuth2Role.AUTHORIZATION_SERVER)){ classNames.add(AuthorizationServerConfiguration.class.getName()); classNames.add(Oauth2TokenStoreConfiguration.class.getName()); classNames.add(OAuth2CustomResultConfiguration.class.getName()); } if(roles.contains(OAuth2Role.RESOURCE_SERVER)){ if(!classNames.contains(Oauth2TokenStoreConfiguration.class.getName())){ classNames.add(Oauth2TokenStoreConfiguration.class.getName()); } //仍然可通过ResourceServerProps.ENABLED_KEY关掉 classNames.add(ResourceServerConfiguration.class.getName()); classNames.add(OAuth2CustomResultConfiguration.class.getName()); classNames.add(ClientDetailsResolverConfiguration.class.getName()); } if(roles.contains(OAuth2Role.CLIENT_DETAILS_RESOLVER)){ classNames.add(Oauth2TokenStoreConfiguration.class.getName()); classNames.add(ClientDetailsResolverConfiguration.class.getName()); } return classNames; }
Example #26
Source Project: spring-boot-data-geode Author: spring-projects File: MemberNameConfiguration.java License: Apache License 2.0 | 5 votes |
@Override @SuppressWarnings("all") public void setImportMetadata(AnnotationMetadata importMetadata) { if (isAnnotationPresent(importMetadata)) { AnnotationAttributes memberNameAttributes = getAnnotationAttributes(importMetadata); setMemberName(memberNameAttributes.containsKey("value") ? memberNameAttributes.getString("value") : null); setMemberName(memberNameAttributes.containsKey("name") ? memberNameAttributes.getString("name") : null); } }
Example #27
Source Project: netty-chat Author: shuangyueliao File: ActivemqChatDefinitionRegistrar.java License: Apache License 2.0 | 5 votes |
@Override public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry){ Class beanClass = ActivemqOfflineInfoHelper.class; RootBeanDefinition beanDefinition = new RootBeanDefinition(beanClass); String beanName = StringUtils.uncapitalize(beanClass.getSimpleName()); //在这里可以拿到所有注解的信息,可以根据不同注解来返回不同的class,从而达到开启不同功能的目的 //通过这种方式可以自定义beanName registry.registerBeanDefinition(beanName, beanDefinition); }
Example #28
Source Project: teiid-spring-boot Author: teiid File: TeiidPostProcessor.java License: Apache License 2.0 | 5 votes |
@Override public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) { if (!registry.containsBeanDefinition(BEAN_NAME)) { GenericBeanDefinition beanDefinition = new GenericBeanDefinition(); beanDefinition.setBeanClass(TeiidPostProcessor.class); beanDefinition.setRole(BeanDefinition.ROLE_APPLICATION); // We don't need this one to be post processed otherwise it can cause a // cascade of bean instantiation that we would rather avoid. beanDefinition.setSynthetic(true); registry.registerBeanDefinition(BEAN_NAME, beanDefinition); } }
Example #29
Source Project: netty-chat Author: shuangyueliao File: CustomChatDefinitionRegistrar.java License: Apache License 2.0 | 5 votes |
@Override public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry){ Class beanClass = CustomOfflineInfoHelper.class; RootBeanDefinition beanDefinition = new RootBeanDefinition(beanClass); String beanName = StringUtils.uncapitalize(beanClass.getSimpleName()); //在这里可以拿到所有注解的信息,可以根据不同注解来返回不同的class,从而达到开启不同功能的目的 //通过这种方式可以自定义beanName registry.registerBeanDefinition(beanName, beanDefinition); }
Example #30
Source Project: spring-content Author: paulcwarren File: JpaContentAutoConfigureRegistrar.java License: Apache License 2.0 | 5 votes |
@Override protected void registerContentStoreBeanDefinitions( AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) { AnnotationMetadata metadata = new StandardAnnotationMetadata( EnableJpaContentAutoConfiguration.class); AnnotationAttributes attributes = new AnnotationAttributes( metadata.getAnnotationAttributes(this.getAnnotation().getName())); String[] basePackages = this.getBasePackages(); Set<GenericBeanDefinition> definitions = StoreUtils.getStoreCandidates(this.getEnvironment(), this.getResourceLoader(), basePackages, multipleStoreImplementationsDetected(), getIdentifyingTypes()); this.buildAndRegisterDefinitions(importingClassMetadata, registry, attributes, basePackages, definitions); }