java - 如何创建一个独立的基于 Spring Boot 的 Java 库
问题描述
我正在开发一个基于 Spring Boot 的微服务,为了确保代码是可重用的,这个微服务使用的方法被构建到一个单独的 Java 库中。这个 java 库是一个单独的存储库。
到目前为止,这个 Java 库是一个纯 Java 库,只需将库包含pom.xml
在 Spring Boot 应用程序中,一切正常。但现在我正在将此库转换为基于 Spring Boot 的库。因此,我通过包含标准的 Spring Boot 依赖项修改了pom.xml
of 库。这些方法现在通过使用@Component
注解转换为 Bean。
现在在主 Spring Boot 应用程序中,当我尝试使用 autowire 并在 java 库中创建类的 bean 时,我的应用程序不会通过抛出指定 bean 不存在的错误来启动
我不确定是什么原因造成的。我做了很多谷歌搜索,但找不到任何有用的信息来创建一个单独的基于 Spring Boot 的库并将其集成到 Spring Boot 应用程序中。
请帮忙。
解决方案
有两种方法可以解决此类问题。
Bean
您可以通过简单地ComponentScan
在 Spring Boot 应用程序中为该 JAR 中的最小包执行操作来从外部库实例化。
@Configuration
@ComponentScan("com.your.path.to.least.pkg")
public class ExternalJarConfig {
//no code needed here, beans will be scanned from jar from com.your.path.to.least.pkg package
}
推荐阅读
- xcode - 暗模式下的 NSTableview
- javascript - 使用 Lodash 的 has-method 优于 Vanilla-JS 的好处?
- angular - 如何在 AsyncPipe 上使用 trackBy 进行图像渲染,它每次都重新渲染页面?
- excel-dna - 如何用 Excel-DNA 知道单元格最后一个公式
- android - Gradle 同步失败:Xposed 模块框架
- vba - 如何使用输入的点作为圆锥的顶部而不是圆锥的底部?
- python - 如何将字符串转换为在全局函数内部实例化的变量名?
- javascript - 仅获取单击的 div 元素的子元素
- android - SMS 权限在 API 27 及更高版本上取消检查自身
- angular - 角度 4:从查询参数中设置初始值会导致带有 onChange 导航的循环