我可以在我的 Spring 启动应用程序中使用 Spring 集成模块吗?

Mau*_*ice 2 java spring-integration spring-boot

我正在尝试为我的 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 管理的,但我不确定他的意思。

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

Gar*_*ell 5

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

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

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

<dependency>
    <groupId>org.springframework.integration</groupId>
    <artifactId>spring-integration-ftp</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)

请注意,您没有需要<version/>-启动会处理这件事对你和对应于核心正确的版本带来。

模块本身将引入它们需要的任何额外的传递依赖项。所以你只需要将顶级模块添加到你的 pom.xml 文件中。