From 7606ab6252fcdeeebddcfe1860d30588795b22c9 Mon Sep 17 00:00:00 2001 From: huifer Date: Wed, 15 Jan 2020 11:08:49 +0800 Subject: [PATCH] Spring-spring-components --- .../Spring-spring-components.md | 124 ++++++++++++++++++ images/spring/image-20200115105941265.png | Bin 0 -> 55124 bytes 2 files changed, 124 insertions(+) create mode 100644 docs/Spring/Spring5新特性/Spring-spring-components.md create mode 100644 images/spring/image-20200115105941265.png diff --git a/docs/Spring/Spring5新特性/Spring-spring-components.md b/docs/Spring/Spring5新特性/Spring-spring-components.md new file mode 100644 index 0000000..10bef93 --- /dev/null +++ b/docs/Spring/Spring5新特性/Spring-spring-components.md @@ -0,0 +1,124 @@ +# Spring5 新特性 - spring.components +- Author: [HuiFer](https://github.com/huifer) +- 源码阅读仓库: [huifer-spring](https://github.com/huifer/spring-framework-read) + + +## 解析 +- 相关类: `org.springframework.context.index.CandidateComponentsIndexLoader` +- 测试用例: `org.springframework.context.annotation.ClassPathScanningCandidateComponentProviderTests.defaultsWithIndex`,`org.springframework.context.index.CandidateComponentsIndexLoaderTests` +- `CandidateComponentsIndexLoader`是怎么找出来的,全文搜索`spring.components` +### 使用介绍 +- 下面是从`resources/example/scannable/spring.components`测试用例中复制过来的,从中可以发现等号左侧放的是我们写的组件,等号右边是属于什么组件 +``` +example.scannable.AutowiredQualifierFooService=example.scannable.FooService +example.scannable.DefaultNamedComponent=org.springframework.stereotype.Component +example.scannable.NamedComponent=org.springframework.stereotype.Component +example.scannable.FooService=example.scannable.FooService +example.scannable.FooServiceImpl=org.springframework.stereotype.Component,example.scannable.FooService +example.scannable.ScopedProxyTestBean=example.scannable.FooService +example.scannable.StubFooDao=org.springframework.stereotype.Component +example.scannable.NamedStubDao=org.springframework.stereotype.Component +example.scannable.ServiceInvocationCounter=org.springframework.stereotype.Component +example.scannable.sub.BarComponent=org.springframework.stereotype.Component +``` + +### debug +- 入口 `org.springframework.context.index.CandidateComponentsIndexLoader.loadIndex` +```java + @Nullable + public static CandidateComponentsIndex loadIndex(@Nullable ClassLoader classLoader) { + ClassLoader classLoaderToUse = classLoader; + if (classLoaderToUse == null) { + classLoaderToUse = CandidateComponentsIndexLoader.class.getClassLoader(); + } + return cache.computeIfAbsent(classLoaderToUse, CandidateComponentsIndexLoader::doLoadIndex); + } + +``` +```java + /** + * 解析 META-INF/spring.components 文件 + * @param classLoader + * @return + */ + @Nullable + private static CandidateComponentsIndex doLoadIndex(ClassLoader classLoader) { + if (shouldIgnoreIndex) { + return null; + } + + try { + Enumeration urls = classLoader.getResources(COMPONENTS_RESOURCE_LOCATION); + if (!urls.hasMoreElements()) { + return null; + } + List result = new ArrayList<>(); + while (urls.hasMoreElements()) { + URL url = urls.nextElement(); + // 读取META-INF/spring.components文件转换成map对象 + Properties properties = PropertiesLoaderUtils.loadProperties(new UrlResource(url)); + result.add(properties); + } + if (logger.isDebugEnabled()) { + logger.debug("Loaded " + result.size() + "] index(es)"); + } + int totalCount = result.stream().mapToInt(Properties::size).sum(); + // 查看CandidateComponentsIndex方法 + return (totalCount > 0 ? new CandidateComponentsIndex(result) : null); + } + catch (IOException ex) { + throw new IllegalStateException("Unable to load indexes from location [" + + COMPONENTS_RESOURCE_LOCATION + "]", ex); + } + } + +``` + +```java + CandidateComponentsIndex(List content) { + this.index = parseIndex(content); + } + + /** + * 解析 MATE-INF\spring.components 转换成 map + * + * @param content + * @return + */ + private static MultiValueMap parseIndex(List content) { + MultiValueMap index = new LinkedMultiValueMap<>(); + for (Properties entry : content) { + entry.forEach((type, values) -> { + String[] stereotypes = ((String) values).split(","); + for (String stereotype : stereotypes) { + index.add(stereotype, new Entry((String) type)); + } + }); + } + return index; + } +``` + + + + + +![image-20200115105941265](/images/spring/image-20200115105941265.png) +- 该类给`org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents`提供了帮助 + +```java + public Set findCandidateComponents(String basePackage) { + // 扫描 + /** + * if 测试用例: {@link org.springframework.context.annotation.ClassPathScanningCandidateComponentProviderTests#defaultsWithIndex()} + * 解析 spring.components文件 + */ + if (this.componentsIndex != null && indexSupportsIncludeFilters()) { + return addCandidateComponentsFromIndex(this.componentsIndex, basePackage); + } + else { + return scanCandidateComponents(basePackage); + } + } + +``` \ No newline at end of file diff --git a/images/spring/image-20200115105941265.png b/images/spring/image-20200115105941265.png new file mode 100644 index 0000000000000000000000000000000000000000..88c456b3862b32842b87f26f06ed8016da9d9ccc GIT binary patch literal 55124 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 literal 0 HcmV?d00001