java - 普通 Java 项目中的 Spring Boot 库使用

标签 java spring spring-boot

我目前正在为可重用组件开发 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 模块基础架构会更好吗?

最佳答案

  1. 编写您自己的 Spring-Boot-Auto-Starter。可以在以下位置找到指南:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-developing-auto-configuration.html
  2. 这样您的库就可以在每个 spring boot 项目中使用,只需将其添加为依赖项(这意味着 jar 必须在您的类路径中)。
  3. 如果您的 Java 应用程序不使用 SpringContext,则无法通过 spring 将服务“连接”到您的普通 java 应用程序中。

关于java - 普通 Java 项目中的 Spring Boot 库使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55573954/

相关文章:

java - 带有标题 : webservice can't find my header parameters 的 Spring RestTemplate postForObject

spring - 配置文件中的管理器 Spring MVC @RequestMapping

java - Spring Boot + Java 模块 = 不支持的类文件主要版本

java - 未能应用插件 [class 'io.spring.gradle.dependencymanagement.DependencyManagementPlugin']?

java - 在 RestTemplate 解码期间忽略 xml 命名空间

java - 添加失败:stat/var/lib/docker/tmp/docker-builder673702145/target/xxx.jar:没有这样的文件或目录

spring - MethodArgumentNotValidException 之后获取无效字段的值

java - 将 HttpPost 发送到服务器和服务器响应之间的延迟是多少

java - 如何使用 Set.toArray() 对字符串进行排序?

java - JPA 2 - 如何使用 Spring Data JPA 构建具有主键也是外键的实体?