我目前正在为可重用组件开发 Spring Boot jar 库
- LDAP
- 电子邮件
- 使用 apache kafka 发送消息
- 休息 api 使用
目标:
我们公司的每个 Java“用户/编码员”都应该能够将这个 jar“放入”一个项目中(通过 maven 或其他方式)并使用可重用的组件,而不是一遍又一遍地手工编写所有东西。
通过 REST 为该问题构建微服务不是我们的替代方案。
我的问题是:
我可以在任何纯 Java 项目中重用这个 Spring Boot jar 库吗?
我很喜欢,我可以将这个 jar 库“放入”Java 项目中,然后将我的 Spring Boot 服务从该库连接到我的“非 Spring Boot”vanilla Java 项目中吗?
通知/编辑:
我使用 Spring Boot 作为项目模板 (spring-boot-starter-parent
)。
我手动配置我的模板,如 LdapTemplate
,不让 Spring Boot 施展魔法。
编辑
就Spring Boot/Spring项目中的复用而言,一切都很好。我已经这样做了。
我对该库的目标可能是每个 Java“用户”都可以使用该库,如下所示:
final SuperCoolLibary scl = new SuperCoolLibrary();
final boolean 值存在 = scl.searchForLdapUser("tlang");
那么另一个问题可能是:
将此库切换到新的 Java Jigsaw 模块基础架构会更好吗?
最佳答案
- 编写您自己的 Spring-Boot-Auto-Starter。可以在以下位置找到指南:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-developing-auto-configuration.html
- 这样您的库就可以在每个 spring boot 项目中使用,只需将其添加为依赖项(这意味着 jar 必须在您的类路径中)。
- 如果您的 Java 应用程序不使用 SpringContext,则无法通过 spring 将服务“连接”到您的普通 java 应用程序中。
关于java - 普通 Java 项目中的 Spring Boot 库使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55573954/