使用InputStream构造函数参数实例化Spring bean

时间:2016-08-31 15:07:55

标签: java spring inputstream

我试图以下列方式实例化一个Spring bean:

<bean id="myParser class="com.parser.MyParser">
    <constructor-arg type="java.io.InputStream"
        value="classpath:regex.yaml" />
</bean>

MyParser定义了以下构造函数:

 public MyParser() throws IOException {
    this(MyParser.class.getResourceAsStream(DEFAULT_YAML_PATH));
  }

  public MyParser(InputStream regexYaml) {
    initialize(regexYaml);
  }

但是在运行时我收到一个错误,因为找不到匹配的构造函数,因此无法创建bean:

Could not resolve matching constructor (hint: specify index/type/name arguments for simple parameters to avoid type ambiguities)

1 个答案:

答案 0 :(得分:-1)

发现错误,显然如果文件不在类路径上,则无法实例化InputStream,这将导致上述错误。