Java Code Examples for org.springframework.core.type.classreading.SimpleMetadataReaderFactory#getMetadataReader()
The following examples show how to use
org.springframework.core.type.classreading.SimpleMetadataReaderFactory#getMetadataReader() .
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 File: AutoJsonRpcClientProxyCreator.java From jsonrpc4j with MIT License | 6 votes |
@Override public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) { SimpleMetadataReaderFactory metadataReaderFactory = new SimpleMetadataReaderFactory(applicationContext); DefaultListableBeanFactory defaultListableBeanFactory = (DefaultListableBeanFactory) beanFactory; String resolvedPath = resolvePackageToScan(); logger.debug("Scanning '{}' for JSON-RPC service interfaces.", resolvedPath); try { for (Resource resource : applicationContext.getResources(resolvedPath)) { if (resource.isReadable()) { MetadataReader metadataReader = metadataReaderFactory.getMetadataReader(resource); ClassMetadata classMetadata = metadataReader.getClassMetadata(); AnnotationMetadata annotationMetadata = metadataReader.getAnnotationMetadata(); String jsonRpcPathAnnotation = JsonRpcService.class.getName(); if (annotationMetadata.isAnnotated(jsonRpcPathAnnotation)) { String className = classMetadata.getClassName(); String path = (String) annotationMetadata.getAnnotationAttributes(jsonRpcPathAnnotation).get("value"); logger.debug("Found JSON-RPC service to proxy [{}] on path '{}'.", className, path); registerJsonProxyBean(defaultListableBeanFactory, className, path); } } } } catch (IOException e) { throw new IllegalStateException(format("Cannot scan package '%s' for classes.", resolvedPath), e); } }
Example 2
Source File: Hbm2ddl.java From wallride with Apache License 2.0 | 5 votes |
public static void main(String[] args) throws Exception { String locationPattern = "classpath:/org/wallride/domain/*"; final BootstrapServiceRegistry registry = new BootstrapServiceRegistryBuilder().build(); final MetadataSources metadataSources = new MetadataSources(registry); final StandardServiceRegistryBuilder registryBuilder = new StandardServiceRegistryBuilder(registry); registryBuilder.applySetting(AvailableSettings.DIALECT, ExtendedMySQL5InnoDBDialect.class.getCanonicalName()); registryBuilder.applySetting(AvailableSettings.GLOBALLY_QUOTED_IDENTIFIERS, true); registryBuilder.applySetting(AvailableSettings.PHYSICAL_NAMING_STRATEGY, PhysicalNamingStrategySnakeCaseImpl.class); final PathMatchingResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver(); final Resource[] resources = resourcePatternResolver.getResources(locationPattern); final SimpleMetadataReaderFactory metadataReaderFactory = new SimpleMetadataReaderFactory(); for (Resource resource : resources) { MetadataReader metadataReader = metadataReaderFactory.getMetadataReader(resource); AnnotationMetadata metadata = metadataReader.getAnnotationMetadata(); if (metadata.hasAnnotation(Entity.class.getName())) { metadataSources.addAnnotatedClass(Class.forName(metadata.getClassName())); } } final StandardServiceRegistryImpl registryImpl = (StandardServiceRegistryImpl) registryBuilder.build(); final MetadataBuilder metadataBuilder = metadataSources.getMetadataBuilder(registryImpl); new SchemaExport() .setHaltOnError(true) .setDelimiter(";") .create(EnumSet.of(TargetType.STDOUT), metadataBuilder.build()); }
Example 3
Source File: AnnotationMetadataPerformanceBootstrap.java From thinking-in-spring-boot-samples with Apache License 2.0 | 3 votes |
public static void main(String[] args) throws IOException { // 反射实现 AnnotationMetadata standardAnnotationMetadata = new StandardAnnotationMetadata(TransactionalService.class); SimpleMetadataReaderFactory factory = new SimpleMetadataReaderFactory(); MetadataReader metadataReader = factory.getMetadataReader(TransactionalService.class.getName()); // ASM 实现 AnnotationMetadata annotationMetadata = metadataReader.getAnnotationMetadata(); int times = 10 * 10000; // 10 万次 testAnnotationMetadataPerformance(standardAnnotationMetadata, times); testAnnotationMetadataPerformance(annotationMetadata, times); times = 100 * 10000; // 100 万次 testAnnotationMetadataPerformance(standardAnnotationMetadata, times); testAnnotationMetadataPerformance(annotationMetadata, times); times = 1000 * 10000; // 1000 万次 testAnnotationMetadataPerformance(standardAnnotationMetadata, times); testAnnotationMetadataPerformance(annotationMetadata, times); times = 10000 * 10000; // 1 亿次 testAnnotationMetadataPerformance(standardAnnotationMetadata, times); testAnnotationMetadataPerformance(annotationMetadata, times); }