我正在尝试为我的 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/