2

我在我的 spring 配置文件中提供了以下定义:

<bean id="path" class="java.nio.file.Paths" factory-method="get">
    <constructor-arg>
        <value type="java.lang.String">${limits.path}</value>
    </constructor-arg>
</bean>

Paths.get可以使用 String 参数或 URI 参数调用。在上面的示例中,SPring 将其解析为 URI,这是错误的……知道为什么吗?

4

1 回答 1

4

尝试使用特定索引,它可能会出现问题,因为它在方法签名中有可变参数。

来自 oracle文档

get(String first, String... more)

尝试这样的事情:

<bean id="path" class="java.nio.file.Paths" factory-method="get">
    <constructor-arg index="0"
                     type="java.lang.String" 
                     value="${limits.path}" />    
</bean>

如果它不起作用,请尝试使用空列表:

<bean id="path" class="java.nio.file.Paths" factory-method="get">
    <constructor-arg index="0">
        <value type="java.lang.String">${limits.path}</value>  
    </constructor-arg>
    <constructor-arg index="1">
        <list></list>
    </constructor-arg>
</bean>
于 2013-01-07T18:30:01.943 回答