我想使用spring注释注入FileInputStream
作为构造函数参数。
假设我有以下类(在进行构造函数arg注入之前)
@Component
public class MyClass{
private BlaClass xy;
public MyClass(InputStream is)
{
this.xy = new BlaClass(is);
}
}
所以现在我的问题是我是否可以使用@Value
注释或类似注释来注入输入流?应该是这样的:
@Component
public class MyClass{
private BlaClassTakingAnInputStream xy;
//this is of course not correct
public MyClass(@Value("classpath:path/to/a/file") is)
{
this.xy = new BlaClassTakingAnInputStream(is);
}
}
p.s:我知道如何使用xml配置,但我想使用注释,因为它不那么详细。
答案 0 :(得分:2)
你可以像Resource
这样使用
@Autowired
public MyClass(@Value("classpath:path/to/a/file") Resource resource) {
// access to resource input stream
}
请注意,@Autowired
是将此构造函数标记为要使用的构造函数所必需的。否则,Spring会寻找一个无参数的构造函数。