这可能是一项不可能完成的任务,但这里有......
spring-boot
应用程序的类路径来注册spring bean? 场景:我想创建一个非侵入式plugin
jar,当它导入spring-boot
项目的类路径时,会自动被拾取并提供服务(例如通过RestController
)。
spring-boot
应用程序(即没有其他扫描路径或bean配置)。spring-boot
应用程序的打包结构/扫描路径。我想我希望默认 Spring 扫描其自己的包结构(即org.springframework.**
寻找数据库库的存在等)并且我可以捎带 - 退缩 - 我没有运气(到目前为止)。
我已设置example project in github,以进一步澄清/说明我的示例和尝试。
使这个工作正常的是添加以下文件,该文件指向@Configuration
配置文件......
plugin-poc\src\main\resources\META-INF\spring.factories
org.springframework.boot.autoconfigure.EnableAutoConfiguration=org.thirdpartyplugin.PluginConfiguration
答案 0 :(得分:5)
我认为在这种情况下,您会尝试添加一个注释为@ConditionalOnClass
的spring自动配置,只有在给定的类位于类路径上时才进行评估。这个类可以注册bean,只要条件求值为true
以下是spring boot文档的相关部分:Creating your own auto-configuration