对比springboot官方插件和自定义插件,差异竟然是。。。
原创 积木 编程阁楼 6天前
➜ spring-boot-starter-sensitive git:(master) tree.├── pom.xml├── spring-boot-starter-sensitive.iml└── src│ ├── main│ │ ├── java│ │ │ └── cn│ │ │ └── gov│ │ │ └── zcy│ │ │ └── sensitive│ │ │ ├── HttpFileKWSeekerProcessor.java│ │ │ ├── KWSeekerAutoConfigration.java│ │ │ ├── SeekerFactory.java│ │ │ ├── SimpleKWSeekerProcessor.java│ │ │ ├── conf│ │ │ │ ├── Config.java│ │ │ │ └── SensitiveConfigProperties.java│ │ │ ├── core│ │ │ │ ├── KWSeeker.java│ │ │ │ └── KWSeekerManage.java│ │ │ ├── model│ │ │ │ ├── KeyWord.java│ │ │ │ └── SensitiveWordResult.java│ │ │ ├── processor│ │ │ │ ├── AbstractFragment.java│ │ │ │ ├── AdaptiveProcessor.java│ │ │ │ ├── HTMLFragment.java│ │ │ │ ├── IgnoreFragment.java│ │ │ │ ├── Processor.java│ │ │ │ └── WordFinder.java│ │ │ └── util│ │ │ ├── AnalysisUtil.java│ │ │ ├── EmojiUtil.java│ │ │ └── EndTagUtil.java│ │ └── resources│ │ ├── sensitive-word-single.properties│ │ └── sensitive-word.properties│ │ └── META-INF│ │ └── spring.factories│ └── test│ └── java│ ├── KWSeekerManageTest.java│ └── KwSeekerManageOSSTest.java
pom.xml依赖配置文件 spring SPI扩展文件spring.factories autoconfig自动扫描类
➜ spring-boot-starter-web tree
.
└── META-INF
├── MANIFEST.MF
└── spring.provides
1 directory, 2 files
MANIFEST.MF
Manifest-Version: 1.0Implementation-Title: Spring Boot Web StarterAutomatic-Module-Name: spring.boot.starter.webImplementation-Version: 2.0.3.RELEASEBuilt-By: SpringCreated-By: Apache Maven 3.5.3Build-Jdk: 1.8.0_141
spring.provides
provides: spring-webmvc,spring-web
MANIFEST.MF
文件中仅仅有一些基本的包信息,对于插件加载不会有什么作用。spring.provides
又是做什么的呢,带着这个疑问,小编搜索了下springboot的issue,果然找到了答案。spring.providers作用分析
题外话:为什么STS没有像spring框架一样流行起来?
说到这里,我们也知道了spring.providers
这个文件对插件加载也没有任何的作用。这是怎么回事?
打包一组依赖包,命名成一个规范的名称 自动注入SPI扩展代码
赞 (0)