java - 我可以在 Spring boot 应用程序中使用 Spring 集成模块吗?

标签 java spring-boot spring-integration

我正在尝试为我的 ftp 服务器创建一个文件下载端点。我看到有一个用于 Spring boot 的 Spring boot 集成启动模块,但该模块不包含像 DefaultFtpSessionFactory 这样的类。我在网上读到还有其他可用的模块,例如 Spring 集成 http 和 Spring 集成 ftp。但是,这些不是 Spring Boot 模块。无论如何,将这些模块包含在我的 POM 中是否可以节省?或者我不应该首先使用 Spring boot starter 集成?

我在这个例子中看到:https://blog.pavelsklenar.com/spring-integration-sftp-upload-example/作者在 Spring Integration 4.3.8 常规 Spring 旁边使用了 spring boot。他确实说这些是由 Spring boot 管理的,但我不太确定他的意思。

谁能告诉我,如果我想实现下载功能,我应该包含哪些模块?谢谢

最佳答案

由于应用程序不太可能需要所有 Spring Integration 模块(ftp、sftp、http、mqtt 等),因此启动器仅在类路径上包含 core 和 java dsl jar(在 Spring Integration 5.0 中, DSL 是内置的,因此 boot 2.0 仅包含核心 jar)。

否则,您最终会在类路径上出现许多不需要的 jar。

所以,是的,您必须手动添加所需的依赖项...

<dependency>
    <groupId>org.springframework.integration</groupId>
    <artifactId>spring-integration-ftp</artifactId>
</dependency>

请注意,您不需要需要<version/> - boot 将为您管理它并引入与核心相对应的正确版本。

模块本身将带来它们需要的任何额外的传递依赖项。因此,您只需将顶级模块添加到您的 pom 中即可。

关于java - 我可以在 Spring boot 应用程序中使用 Spring 集成模块吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47365552/

相关文章:

java - 有没有办法用 Java 在隐私窗口/隐身窗口中打开 URL?

Java/Junit : how to test if an external program/process/application is running?

java - Android 交互 - 音乐

java - 无法在 openshift 上打开传出连接(套接字)

java - Spring集成消息历史记录

java - 在 Spring 集成中通过 sftp 移动目录

java - 我可以使用捕获的异常绕数组移动一圈吗?

java - 一个类的多个实例填充了来自 application.properties 的值

java - 在多路由 Controller 方法中确定路由

java - Spring-Boot:并发处理多个请求