Spring 3.0 将文件作为资源注入

2022-09-01 02:25:27

在我的 Spring 3.0 应用程序中,我在 .在运行时,我需要其中一些作为(或其他类型的类型)。如何检索它们?是否可以将它们作为正常注射?/WEB-INF/dirInputStreamResource


答案 1

以下是通过注释执行此操作的最简单方法:

import org.springframework.core.io.Resource;

@Value("classpath:<path to file>")
private Resource cert;

答案 2

根据定义,所有 s 都是 s。这意味着它们能够解析在其配置中找到的任何资源字符串。考虑到这一点,您可以使用接受 .然后,在配置目标 Bean 时,只需在属性的值中使用资源路径即可。Spring 将尝试将配置中的值转换为 .ApplicationContextResourceLoaderorg.springframework.core.io.ResourceStringResource

public class Target {
  private Resource resource;
  public void setResource(final Resource resource) {
    this.resource = resource;
  }
}

//configuration
<beans>
  <bean id="target" class="Target">
    <property name="resource" value="classpath:path/to/file"/>
  </bean>
</beans>

推荐