org.springframework.core.type.classreading

## 类 CachingMetadataReaderFactory

- java.lang.Object
- - org.springframework.core.type.classreading.SimpleMetadataReaderFactory
  - - org.springframework.core.type.classreading.CachingMetadataReaderFactory

- 所有已实现的接口:
    MetadataReaderFactory

      public class CachingMetadataReaderFactory
      extends SimpleMetadataReaderFactory

  Caching implementation of the `MetadataReaderFactory` interface, caching a `MetadataReader` instance per Spring `Resource` handle (i.e. per ".class" file).
  从以下版本开始:
    2.5
  作者:
    Juergen Hoeller, Costin Leau

- - ### 字段概要

    字段
    限定符和类型 | 字段和说明
    --- | ---
    `static int` | `DEFAULT_CACHE_LIMIT` Default maximum number of entries for a local MetadataReader cache: 256

  - ### 构造器概要

    构造器
    构造器和说明
    `CachingMetadataReaderFactory()` Create a new CachingMetadataReaderFactory for the default class loader, using a local resource cache.
    `CachingMetadataReaderFactory(ClassLoader classLoader)` Create a new CachingMetadataReaderFactory for the given `ClassLoader`, using a local resource cache.
    `CachingMetadataReaderFactory(ResourceLoader resourceLoader)` Create a new CachingMetadataReaderFactory for the given `ResourceLoader`, using a shared resource cache if supported or a local resource cache otherwise.

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | `clearCache()` Clear the local MetadataReader cache, if any, removing all cached class metadata.
    `int` | `getCacheLimit()` Return the maximum number of entries for the MetadataReader cache.
    `MetadataReader` | `getMetadataReader(Resource resource)` Obtain a MetadataReader for the given resource.
    `void` | `setCacheLimit(int cacheLimit)` Specify the maximum number of entries for the MetadataReader cache.

    - ### 从类继承的方法 org.springframework.core.type.classreading.SimpleMetadataReaderFactory

      `getMetadataReader, getResourceLoader`

    - ### 从类继承的方法 java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 字段详细资料

    - #### DEFAULT_CACHE_LIMIT

          public static final int DEFAULT_CACHE_LIMIT

      Default maximum number of entries for a local MetadataReader cache: 256
      另请参阅:
        常量字段值

  - ### 构造器详细资料

    - #### CachingMetadataReaderFactory

          public CachingMetadataReaderFactory()

      Create a new CachingMetadataReaderFactory for the default class loader, using a local resource cache.

    - #### CachingMetadataReaderFactory

          public CachingMetadataReaderFactory(@Nullable
                                              ClassLoader classLoader)

      Create a new CachingMetadataReaderFactory for the given `ClassLoader`, using a local resource cache.
      参数:
        `classLoader` - the ClassLoader to use

    - #### CachingMetadataReaderFactory

          public CachingMetadataReaderFactory(@Nullable
                                              ResourceLoader resourceLoader)

      Create a new CachingMetadataReaderFactory for the given `ResourceLoader`, using a shared resource cache if supported or a local resource cache otherwise.
      参数:
        `resourceLoader` - the Spring ResourceLoader to use (also determines the ClassLoader to use)
      另请参阅:
        `DefaultResourceLoader.getResourceCache(java.lang.Class<T>)`

  - ### 方法详细资料

    - #### setCacheLimit

          public void setCacheLimit(int cacheLimit)

      Specify the maximum number of entries for the MetadataReader cache.

      Default is 256 for a local cache, whereas a shared cache is typically unbounded. This method enforces a local resource cache, even if the `ResourceLoader` supports a shared resource cache.

    - #### getCacheLimit

          public int getCacheLimit()

      Return the maximum number of entries for the MetadataReader cache.

    - #### getMetadataReader

          public MetadataReader getMetadataReader(Resource resource)
                                           throws IOException

      从接口复制的说明: `MetadataReaderFactory`
      Obtain a MetadataReader for the given resource.
      指定者:
        `getMetadataReader` 在接口中 `MetadataReaderFactory`
      覆盖:
        `getMetadataReader` 在类中 `SimpleMetadataReaderFactory`
      参数:
        `resource` - the resource (pointing to a ".class" file)
      返回:
        a holder for the ClassReader instance (never `null`)
      抛出:
        `IOException` - in case of I/O failure

    - #### clearCache

          public void clearCache()

      Clear the local MetadataReader cache, if any, removing all cached class metadata.