远程目录表达式字符串
Remote directory expression string
在我的项目中,我使用 Spring Integration Sftp。我尝试使用 spEL 配置 remoteDirectoryExpression
,但主要问题是我在应用程序属性中存储的 SFTP 文件夹值作为 sftp.folder=/test/
。
handler.setRemoteDirectoryExpressionString("\'" + properties.getFolder() + "\'" + ".concat(headers['region'])");
properties.getFolder()
是 class 和 @ConfigurationProperties
。
这个解决方案工作正常,但我不喜欢它。那么,有没有可能以某种方式在没有花括号的情况下编写 spEl 表达式?
but can`t get property from application.properties using expressions like ${}
没错:您不能在此 setter 级别上执行此操作,因为没有属性占位符知识,因为它已经是一个普通的 Java 调用。
您可以通过 @Configuration
class 的 属性 上的 @Value
注释或通过 @Bean
方法参数来执行您想要的操作:
@Bean
FtpMessageHandler ftpMessageHandler(@Value("'${sftp.folder}' + headers['region']") String remoteDirectory)
在我的项目中,我使用 Spring Integration Sftp。我尝试使用 spEL 配置 remoteDirectoryExpression
,但主要问题是我在应用程序属性中存储的 SFTP 文件夹值作为 sftp.folder=/test/
。
handler.setRemoteDirectoryExpressionString("\'" + properties.getFolder() + "\'" + ".concat(headers['region'])");
properties.getFolder()
是 class 和 @ConfigurationProperties
。
这个解决方案工作正常,但我不喜欢它。那么,有没有可能以某种方式在没有花括号的情况下编写 spEl 表达式?
but can`t get property from application.properties using expressions like ${}
没错:您不能在此 setter 级别上执行此操作,因为没有属性占位符知识,因为它已经是一个普通的 Java 调用。
您可以通过 @Configuration
class 的 属性 上的 @Value
注释或通过 @Bean
方法参数来执行您想要的操作:
@Bean
FtpMessageHandler ftpMessageHandler(@Value("'${sftp.folder}' + headers['region']") String remoteDirectory)